.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!
本文详细介绍了如何在 .NET 中自定义 RadioButton 控件以使其响应双击事件,通过派生类继承并调用受保护方法 SetStyle 来实现,并展示了在 VB.NET 中的代码实现及与 C# 的对比。最后,通过修改设计文件和事件处理,成功实现了自定义控件的使用。
1132

被折叠的 条评论
为什么被折叠?



