在VB.NET中是否有“Restore Down”事件

问题描述 投票:1回答:3

当我单击标题栏中的“恢复向下”按钮然后它将恢复主窗体以及具有我声明的特定大小的其他窗体时,会发生什么事件。我是vb.net的新手,仍在探索新功能。请帮忙!

winforms vb.net-2010
3个回答
1
投票

为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);
}

1
投票

改编的Srirams回答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

0
投票

澄清Wylie的答案:你还需要在某处声明PreviousWindowState:

Dim PreviousWindowState As FormWindowState
© www.soinside.com 2019 - 2024. All rights reserved.