.net RadioButton控件默认情况下不能触发双击事件,想要触发该事件需要调用控件的SetStyle,但是这个方法是Protected限定,不能公开使用。因此派生子类。
代码如下:
Public Class DoubleRadioButton //此处注意不能将下面一行的代码与本行代码在同一行, 本人专注C#但是同事是VB.NET在这里花了很长时间不知道为啥出错
Inherits System.Windows.Forms.RadioButton
Public Sub New()
Me.SetStyle(ControlStyles.StandardClick Or ControlStyles.StandardDoubleClick, True)
End Sub
End Class
创建实例项目,添加1个RadioButton控件
修改Form1.vb
增加触发事件
Private Sub RadioButton1_DoubleClick(sender As System.Object, e As System.EventArgs) Handles RadioButton1.DoubleClick
MessageBox.Show("OK")
End Sub
修改Form1.Designer.vb,这里感到不如C#方便的地方,在C#里面可直接修改
使用文本工具修改如下:
...
Me.RadioButton1 = New DoubleRadioButton()
...
Friend WithEvents RadioButton1 As DoubleRadioButton
重新编译测试OK!