2016-11-25 63 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(),會發生什麼? –