在 VB.NET 中更改了带有按钮外观的复选框的选中状态
Changed checked state on checkbox with button appearance in VB.NET
如我的摘要所述,我目前正在 VB.Net 中开发虚拟 OS。我目前正在处理会话,因为我已经完成了登录工作。
我在使用带有按钮外观的复选框时遇到问题。如果我点击带有 Click() 事件的按钮,我想将 CheckState 设置为 Checked,如下所示:
Private Sub btnApps_Click(Byval sender As Object, Byval e As EventArgs) Handles btnApps.Click()
If btnApps.CheckState = CheckState.Checked Then
btnApps.CheckState = CheckState.Unchecked
Else
btnApps.CheckState = CheckState.Checked
End If
End Sub
我也尝试了 Checked 属性。
此代码根本不起作用,如果我将整个 If-End If 部分放入 CheckedChanged 事件中,我将收到 WhosebugException。我做错了什么?
CheckBox 是自定义控件b.t.w。
如果您想阻止您的复选框自动更改状态并使用您自己的 Click 事件更改外观,您可以将 AutoCheck 设置为 false。
https://msdn.microsoft.com/en-us/library/system.windows.forms.checkbox.autocheck(v=vs.110).aspx
通过这个问题找到的信息:How to cancel RadioButton or CheckBox checked change
Public Class Form1
Private WithEvents btnApps As New clsChk
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
btnApps.AutoCheck = False
Me.Controls.Add(btnApps)
End Sub
Private Sub btnApps_Click(sender As Object, e As EventArgs) Handles btnApps.Click
Debug.WriteLine(btnApps.CheckState)
If btnApps.CheckState = CheckState.Checked Then
btnApps.CheckState = CheckState.Unchecked
Else
btnApps.CheckState = CheckState.Checked
End If
End Sub
End Class
如我的摘要所述,我目前正在 VB.Net 中开发虚拟 OS。我目前正在处理会话,因为我已经完成了登录工作。
我在使用带有按钮外观的复选框时遇到问题。如果我点击带有 Click() 事件的按钮,我想将 CheckState 设置为 Checked,如下所示:
Private Sub btnApps_Click(Byval sender As Object, Byval e As EventArgs) Handles btnApps.Click()
If btnApps.CheckState = CheckState.Checked Then
btnApps.CheckState = CheckState.Unchecked
Else
btnApps.CheckState = CheckState.Checked
End If
End Sub
我也尝试了 Checked 属性。
此代码根本不起作用,如果我将整个 If-End If 部分放入 CheckedChanged 事件中,我将收到 WhosebugException。我做错了什么?
CheckBox 是自定义控件b.t.w。
如果您想阻止您的复选框自动更改状态并使用您自己的 Click 事件更改外观,您可以将 AutoCheck 设置为 false。
https://msdn.microsoft.com/en-us/library/system.windows.forms.checkbox.autocheck(v=vs.110).aspx
通过这个问题找到的信息:How to cancel RadioButton or CheckBox checked change
Public Class Form1
Private WithEvents btnApps As New clsChk
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
btnApps.AutoCheck = False
Me.Controls.Add(btnApps)
End Sub
Private Sub btnApps_Click(sender As Object, e As EventArgs) Handles btnApps.Click
Debug.WriteLine(btnApps.CheckState)
If btnApps.CheckState = CheckState.Checked Then
btnApps.CheckState = CheckState.Unchecked
Else
btnApps.CheckState = CheckState.Checked
End If
End Sub
End Class