vb.net 教程 3-2 窗体编程之窗体 3

Posted VB.Net

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net 教程 3-2 窗体编程之窗体 3相关的知识,希望对你有一定的参考价值。

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
为窗体/控件添加事件的方法:
双击窗体/控件,就会转入默认的事件,例如窗体是Load事件,按钮是Click事件,文本框是TextChanged事件……
要修改引发的事件可以采用以下方法:

方法一:

代码页面,鼠标点击下图中红色方框内的下拉框

可以看到里面除了窗体外还有两个控件,一个Button,一个CheckBox:

 

选择某个控件或者(Form1 事件),比如选中(form1 事件),就可以在最后一个下拉框选择相应的事件了,其中粗体的表示已经添加的事件:

方法二:

鼠标在已经有的某个控件的事件内部点击一下,然后就可以在方法一的最后一部里面选择了。

方法三:

属性窗口,点击“事件”按钮,下图的红色框位置:

双击需要的事件名称,即可转入该事件的代码编写。

也可以在事件名称后面选择已经有的子过程,但是参数必须和事件的参数一致。

窗体和控件都有的事件:

Click               单击鼠标

DoubleClick   双击鼠标

MouseDown  按下鼠标(不放)

MouseUp       按下的鼠标按键释放开

MouseMove   鼠标移动

MouseHover  鼠标停留

KeyPress       按下键盘上的按键

……

 

除了以上事件,窗体/控件还有自己独立的事件,例如窗体的事件:

Load              窗体载入时

FormClosing  窗体关闭时

FormClosed  窗体已经关闭 

Closed           同 FormClosed,但是已经过时

Closing          同FormClosing,但是已经过时

 

如下代码:

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        Console.WriteLine("FormClosing")
    End Sub

    Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles Me.FormClosed
        Console.WriteLine("FormClosed")
    End Sub

    Private Sub Form1_Closed(sender As Object, e As EventArgs) Handles Me.Closed
        Console.WriteLine("Closed")
    End Sub

    Private Sub Form1_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
        Console.WriteLine("Closing")
    End Sub

 

 

窗体关闭后,可以在vs的输出窗口看到:

Closing
FormClosing
Closed
FormClosed

 

在Closing事件发生的时候,可以通过设置e.Cancel=True来阻止关闭窗体:

    Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
        If MessageBox.Show("确定关闭窗口?", "关闭", MessageBoxButtons.YesNo) = DialogResult.No Then
            e.Cancel = True
        End If
    End Sub

点击窗体右上角的X,弹出对话框,如果选择否,那么返回窗体,如果选择是,则退出窗体。

 

 

 

以上是关于vb.net 教程 3-2 窗体编程之窗体 3的主要内容,如果未能解决你的问题,请参考以下文章

vb.net 窗体布局的问题

VB.NET窗体阴影

VB.NET求帮忙!...

关于VB.NET窗体的问题!

vb.net中怎么可以让窗体全屏显示?

如何在 Visual Studio 中轻松复制 Windows 窗体? (VB.NET)