2016-11-25 62 views
-1

我正在使用复选框作为切换开关(ON-OFF按钮),通过使用Checkbox.Appearance属性将其外观更改为Button。 当我运行VB.NET应用程序时,仅在第一次单击后,Checkbox才变为按钮。默认情况下是否可以将Checkbox的外观更改为按钮?我也希望当用户点击“ON”时按钮弹出。我尝试使用FlatStyle属性更改外观,但它不起作用。将复选框外观更改为按钮

我使用下面的代码:

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged 

    CheckBox1.Appearance = System.Windows.Forms.Appearance.Button 

    If CheckBox1.Checked = True Then 
     CheckBox1.Text = "ON" 
    ElseIf CheckBox1.Checked = False Then 
     CheckBox1.Text = "OFF" 
    End If 

End Sub 
+1

的请提供您迄今为止所写的相关代码。 –

+0

假设您已经在设计时设置了Appearance属性,那么如果它不是关闭按钮,那么其他代码在代码中是非常错误的。尝试在点击上放置一个断点,然后查看您是否能够发现它的原因。或向我们展示您的代码。 – peterG

+0

从您发布的代码中,很明显它为什么会在点击事件中发生变化。但它看起来像设计师的按钮?如果不是,为什么不呢? – peterG

回答

0

是可能的选择AppearanceLoad事件的形式

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load 
    Me.CheckBox1.Appearance = Appearance.Button 
End Sub 
+0

我已经尝试了与您所提到的相同的解决方案,并且我正在获取输出。但只有在第一次点击复选框后。最初,在我运行该应用程序后,该复选框不会改变其外观。还有什么我需要添加? – Snehal

+0

它应该工作。一行一行地尝试调试以查看代码是否被执行但您显示的代码是在另一个事件中!一定要将其加载到负载事件 – genespos

+0

@Snehal:如果您尝试在Load事件中添加Me.CheckBox1.Refresh(),会发生什么? –