Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Позиционирование формы возле текстбокса. / 3 сообщений из 3, страница 1 из 1
07.06.2013, 16:26
    #38290631
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование формы возле текстбокса.
Доброе время суток!
Создаю форму frm из формы MainForm.
Код: c#
1.
2.
3.
4.
5.
           frm = new Form();
           frm.Owner = MainForm;
           frm.StartPosition = FormStartPosition.Manual;
           frm.Width = this.PullDownWidth;
           frm.Height = this.PullDownHeight;


Нужно позиционировать новую форму аккурат под текстбоксом в вызывающей форме.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
            int x = 0;
            int y = 0;

            x += MainForm.Location.X;
            x += textbox.Location.X;
            x += textbox.Height;

            y += MainForm.Location.Y;
            y += textbox.Location.Y;

            frm.Location = new Point(x, y);
            frm.Show();


Но позиционирование происходит выше примерно на 50 пикселей и правее примерно на 12 пикселей.
Никак не пойму в чем причина.
Причем на разных компьютерах поправка на несколько пикселей отличается.
Подскажите как быть.

Спасибо.
...
Рейтинг: 0 / 0
07.06.2013, 20:18
    #38291015
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование формы возле текстбокса.
Mikhail Tchervonenko,

предположу, что textbox расположен не прямо на форме, а на контейнере (Panel, GroupBox), который вложен в форму. Следовательно, Location.X и Location.Y берутся от этого контейнера.

Поправка на несколько пикселей может быть из-за разных стилей ОС, установленных на разных компах. То есть могут отличаться толщина рамок окон, высота заголовка окна (SystemInformation.CaptionHeight) и т. п.
...
Рейтинг: 0 / 0
08.06.2013, 02:38
    #38291148
Ermak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Позиционирование формы возле текстбокса.
Обрати внимание на это Form.ClientSize Property
Все координаты элементов управления внутри формы данны относительно именно ClientSize
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Позиционирование формы возле текстбокса. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]