Windows 7 Auto Size на мышь слева? - PullRequest
0 голосов
/ 07 марта 2011

Мне было интересно, в Windows 7 есть функция, которая, когда ваша мышь попадает в форму слева / справа вверху, автоматически изменяет размер окна до половины экрана. Я пытаюсь сделать это с моим ребенком MDI. Вот код, который у меня есть, однако функция не работает.

private void Form1_MouseMove(object sender, MouseEventArgs e)
    {
        Form1 f1 = new Form1();
        if (e.X == f1.Width/2 - 30)
        {
            Form activeChild = this.ActiveMdiChild;
            activeChild.Width = this.Width / 2;
            activeChild.Height = this.Height;
            activeChild.Dock = DockStyle.Left;
        }
    }

1 Ответ

0 голосов
/ 07 марта 2011

Вы можете попробовать сделать это в событии Move действительной дочерней формы. Обработка события на основе нового экземпляра Form1 в любом случае не будет работать очень хорошо. Во всяком случае, вот некоторый код, который будет выглядеть внутри ребенка. (Ужасно, но это по крайней мере что-то делает.)

    private void SubForm_Move(object sender, EventArgs e)
    {
        if (Location.X <= 0)
        {
            Width = MdiParent.Width / 2;
            Height = MdiParent.Height;
            Location = new Point(0,0);
            Dock = DockStyle.Left;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...