Vb.net 无效用户检查单选按钮,但不禁用它

Vb.net 无效用户检查单选按钮,但不禁用它,vb.net,winforms,radio-button,Vb.net,Winforms,Radio Button,我在一个GroupBox中有四个单选按钮,我需要禁止用户更改它的状态,但不禁用控件,因为我需要它们看起来没有被禁用(灰色)。 我通过代码控制它们。 我试图将AutoClick更改为false,但当我通过代码更改它们时,我检查了不止一个单选按钮 当然,我每次都可以更改所有单选按钮的状态,但这看起来有点混乱。您可以使用继承的类来完成此操作 将IsReadOnly标记为true以禁用单击 Class ReadOnlyRadioButton Inherits System.Windows.For

我在一个GroupBox中有四个单选按钮,我需要禁止用户更改它的状态,但不禁用控件,因为我需要它们看起来没有被禁用(灰色)。 我通过代码控制它们。 我试图将AutoClick更改为false,但当我通过代码更改它们时,我检查了不止一个单选按钮


当然,我每次都可以更改所有单选按钮的状态,但这看起来有点混乱。

您可以使用继承的类来完成此操作

将IsReadOnly标记为true以禁用单击

Class ReadOnlyRadioButton
    Inherits System.Windows.Forms.RadioButton

    Private mRo as Boolean

    Public Property IsReadOnly As Boolean
        Get
            Return mRo 
        End Get
        Set(ByVal value as String)
            mRo = value
        End Set
    End Property

    Protected Overrides Sub OnClick(ByVal e As EventArgs)
        If Not Me.IsReadOnly Then
            MyBase.OnClick(e)
        End If

    End Sub
End Class

您可以为此使用继承的类

将IsReadOnly标记为true以禁用单击

Class ReadOnlyRadioButton
    Inherits System.Windows.Forms.RadioButton

    Private mRo as Boolean

    Public Property IsReadOnly As Boolean
        Get
            Return mRo 
        End Get
        Set(ByVal value as String)
            mRo = value
        End Set
    End Property

    Protected Overrides Sub OnClick(ByVal e As EventArgs)
        If Not Me.IsReadOnly Then
            MyBase.OnClick(e)
        End If

    End Sub
End Class

为什么你要改变一个几乎每个计算机用户都能理解的模式,让UI表现得不直观?在change event上添加JQuery并返回false将解决你的问题。因为我有两个选项卡控件,一个用于编程连接到USB端口的设备的配置,另一个用于读取当前配置。因此,用户可以看到几乎相同的控件,并且不会浪费时间寻找特定的配置。@TonyDong这是VB.NET上的WinForm,据我所知,我无法在VB.NET中使用Javascript2010@E_Blue您可以为它添加web浏览器。看到这个URL了吗?为什么你要改变一个几乎每个计算机用户都能理解的范例,让UI表现得不直观?在change event上添加JQuery并返回false将解决你的问题。因为我有两个选项卡控件,一个用于编程连接到USB端口的设备的配置,另一个用于读取当前配置。因此,用户可以看到几乎相同的控件,并且不会浪费时间寻找特定的配置。@TonyDong这是VB.NET上的WinForm,据我所知,我无法在VB.NET中使用Javascript2010@E_Blue您可以为它添加web浏览器。看到这个网址了吗