2016-06-20 2 views
1

Я сейчас пишу карточную игру в блэкджек и столкнулся с проблемой. У меня хороший фон, с фишками на нем, немного дальше снизу, и я хочу, чтобы игрок мог нажать на определенные фишки, чтобы поднять ставку. Проблема в том, что прозрачные ящики, которые я использую в качестве кнопок, должны меняться, если кто-то играет с другим разрешением экрана, чем я. Я попробовал Screen.PrimaryScreen.Bounds.Height/Width, деленный на число, но его все еще не идеально. Есть ли способ точно установить местоположение чего-то независимо от масштабирования или я должен просто заставить определенное разрешение на проигрывателе? Если да, то как я могу установить разрешение?Windows Form - изменение положения и размера изображения с разрешением экрана

+0

можете ли вы опубликовать код, который показывает, как вы это делаете сейчас? Как правило, вы не должны форсировать разрешение, но установите для вашего окна минимальную высоту и ширину. Затем поиграйте со свойством «Anchor» элементов управления, чтобы заставить их оставаться там, где вы хотите, относительно края вашего окна. – DrewJordan

ответ

0

Хорошо, я думаю, что получил это :) Все, что мне нужно было сделать, это добавить две переменные и вычислить долю разрешения экрана 1600 × 900, которую я использую. Что-то вроде этого:

double ws = Screen.PrimaryScreen.Bounds.Width/1600; 
double hs = Screen.PrimaryScreen.Bounds.Height/900; 

Затем я использую SetBounds(), чтобы установить границы панели, и в SetBounds я вычислить х, у координаты, используя шкалу затем преобразовать их в целое. Он выключен на несколько пикселей из-за округления, но приемлемо.

Смежные вопросы