[英]checkedlistbox operation in c#
我正在開發其中使用CheckedListBox的C#應用程序。
CheckedListBox包含以下科目名稱:會計,OC,物理,經濟學,數學等。
我有一個數據庫表,其中費用與特定主題相關聯:
例如表格名稱費用:
Subject | Fee
Accounting 2000
Economics 3000
OC 2000
我想構建該應用程序,以便當用戶單擊CheckedListBox中的主題時,其費用應自動添加到總計中。
為此,我嘗試了不同的CheckedListBox事件: Click
, SelectedIndexChanged
, ItemCheck
等。
但是,當我在CheckedListBox上進行第一次檢查時,我沒有得到正確的行為。
為了進行測試,我在CheckedListBox中添加了以下主題:會計,經濟學和數學。
這就是我的事件處理程序中的內容:
for(int i=0; i<chlstbox.CheckedItems.Count; i++)
{
messagebox.show(chklstbox.CheckedItems[i].ToString());
}
當我選中“會計”的第一個主題時,它不會顯示任何消息框。 但是,當我單擊“經濟學”時,它將顯示“帳戶”,然后顯示“經濟學”。
在這種情況下,當我第一次單擊“會計”時,它應該顯示“會計”。 當我取消選中主題時,沒有任何回復。
我該怎么辦? 我應該使用與之相關的任何特定事件或技術嗎?
如果查看ItemChecketEventArgs ,將看到正在選擇的項目的CurrentValue,OldValue和Index。 所以嘗試這樣的事情。 通過ItemCheck事件,您可以在實際更改之前知道更改的內容。
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.NewValue == CheckState.Checked)
{
MessageBox.Show(checkedListBox1.Items[e.Index].ToString());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.