2016-11-24 4 views
0

Я получаю неправильное поведение в размере формы, я устанавливаю значения ширины и высоты вручную, но полученная форма меньше ожидаемой.Недопустимые значения ширины и высоты формы формы

Я сделал простую форму, чтобы проиллюстрировать мою проблему. Форма установлена ​​на 400x400 в среде IDE.

На форме есть три этикетки с изменением текста с помощью мыши переместить свой код следующим образом:

private void Form1_MouseMove(object sender, MouseEventArgs e) 
    { 
     label1.Text = "this.Width = " + this.Width.ToString(); 
     label2.Text = "this.Height = " + this.Height.ToString(); 
     label3.Text = "Mouse X coordinate = " + e.X.ToString() + "\nMouse Y coordinate = " + e.Y.ToString(); 
    } 

И вот что я получаю:

Ширина

The width

Высота

The height

Любые идеи?

+4

'this.ClientSize.Width' отличается от' this.Size.Width' –

+0

Добро пожаловать в Stack Overflow. Прежде всего, проверьте «Сброс стека» [help on ask questions] (http://stackoverflow.com/help/asking). Сосредоточьтесь на [о каких темах я могу спросить здесь] (http://stackoverflow.com/help/on-topic), [Какие типы вопросов я должен избегать?] (Http://stackoverflow.com/help/dont -ask), [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask), [Как создать минимальный, полный и проверенный пример] (http: // stackoverflow. com/help/mcve) и [Контрольный список вопросов переполнения стека] (http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist). –

+0

Мое предположение, что вы устанавливаете всю ширину/высоту формы (включая заголовок и границы), вам нужно установить ширину/высоту клиентской области. – apr

ответ

0

Размер формы Windows составляет 400x400, но активная область, за исключением заголовка и границ, отличается, указатель мыши получает координаты согласно активной области. Вы можете получить размер активной области на this.ClientSize.Width и this.ClientSize.Height.

Задайте область клиента до 400x400 (измените размер формы в соответствии с ней), и она покажет вам правильный результат.

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