Есть ли событие восстановления в VB.NET?

Какое событие подходит, когда я нажимаю кнопку "Восстановить вниз" в строке заголовка, а затем восстанавливает основную форму вместе с другой формой с указанным мной определенным размером. Я новичок в vb.net и до сих пор изучаю новые функции. Пожалуйста помоги!

3 ответа

Решение

Извиняюсь за решение C#, возможно, это поможет вам преобразовать его в VB.Net. Я не знаю лучшего доступного решения, но это должно сработать.

private FormWindowState? previousWindowState;
protected override void OnSizeChanged(EventArgs e)
{
    if (this.Bounds == this.RestoreBounds && previousWindowState.HasValue && previousWindowState.Value == FormWindowState.Maximized)
    {
        Console.WriteLine("Restored down");
    }
    previousWindowState = this.WindowState;
    base.OnSizeChanged(e);
}

Адаптированный ответ Шрирамса на vb.net

Private Sub MotionManagerDialog_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
    If Me.Bounds.Equals(Me.RestoreBounds) And Not PreviousWindowState.Equals(Nothing) And
                        PreviousWindowState.Equals(System.Windows.Forms.FormWindowState.Maximized) Then
        ' Captures restore down action
    End If
    PreviousWindowState = Me.WindowState
End Sub

Чтобы уточнить ответ Уайли: Вам также нужно где-то объявить PreviousWindowState:

Dim PreviousWindowState As FormWindowState
Другие вопросы по тегам