2011-07-11 98 views
0

我有一對夫婦的我的基本項目需要幫助使用複選框

問題,如果我有一個複選框,其選中時,它會被標示價格的文本框,當我取消選中我價格仍然說在該文本框中,我如何使它消失,因爲我取消選中該框?

Dim total As Double 
If rb_s1.Checked = True Then 
    total += 650.0 

txt_1.Text = total 

那是我的代碼。

和我有很多組合框,我怎麼能使他們全部加起來,因爲我檢查/取消選中它們。

回答

0

您必須使用複選框的Checked_Changed事件。

SHARED void CheckBox1_CheckedChanged(object sender, EventArgs e) 
    IF ChkBx.Checked = true then 
     textBox1.text = "1500" 
    else 
    textBox1.text = "" 
    END IF 

END SUB 
+0

如果有頁面也改變價格上的其他複選框? –

1

我會將此功能添加到CheckBox_Changed事件處理程序中。通過這種方式,您可以確定它是否爲uncheckedchecked,並從價格中增加或減去該值。

Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, _ 
        ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged 
    If CheckBox1.Checked Then 
     total += 650.00 
    Else 
     total -= 650.00 
    End If 

    TextBox1.Text = total.ToString() 
End Sub 
0

爲了讓您的顯示文字時,你的複選框的狀態的變化而變化,你需要處理的CheckedChanged事件。在Visual Studio中處於表格/控件的Desginer模式下時,可以選擇複選框控件,然後在屬性窗口中選擇事件選項卡(帶有小光標圖標的選項卡),然後雙擊CheckChanged事件作爲存根在事件處理程序方法中,並將事件附加到處理程序。

ETA:我重新讀了這個,我不確定我有多清楚。當我在事件處理程序中提到存根並將事件附加到處理程序時,我的意思是在設計程序中雙擊事件的路徑將爲您執行此操作。

順便說一句,這聽起來像你想要的文本是隻有檢查項目的總和,所以從建築學的意義上說,我會建議創建一個單一的方法來確定總和,並具有所有的複選框檢查事件調用該方法而不是嘗試使事件處理程序方法本身直接執行得太多(可能您已經清楚了這一點)。

所以,你可能做這樣的事情:

Public Class Form1 

    Private Sub DisplayTotal() 
     Dim total As Decimal = 0 

     If (CheckBox1.Checked) Then 
      total += Decimal.Parse(txtItem1.Text) 
     End If 

     'Add other items 

     txtTotal.Text = total 

     End If 
    End Sub 

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

    Private Sub CheckBox2_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged 
     DisplayTotal() 
    End Sub 

End Class