Как автоматически изменить пользовательский контроль, когда он отображается - PullRequest
1 голос
/ 14 января 2009

У меня есть проект Winforms с кучей пользовательских элементов управления. Я бы хотел, чтобы пользовательский элемент управления переместился в положение 1,1 относительно своего контейнера (будь то форма или элемент управления Panel). И измените размер, чтобы вместить половину контейнера.

На какое событие я могу ответить в UserControl, чтобы иметь возможность сделать это без необходимости писать код в контейнере (например, в форме или на панели).

Ответы [ 2 ]

4 голосов
/ 14 января 2009

Вы можете использовать основное событие Load.

Код может быть таким:

private void UserControl1_Load(object sender, EventArgs e)
{
    Control parent = this.Parent;
    if (parent != null)
    {
        this.Location = new Point(1, 1);
        this.Width = (parent.Width / 2);
        this.Height = (parent.Height / 2);
    }
}
0 голосов
/ 14 января 2009

Событие Paint должно работать, если я что-то упустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...