簡體   English   中英

C#中的checkedlistbox操作

[英]checkedlistbox operation in c#

我正在開發其中使用CheckedListBox的C#應用​​程序。

CheckedListBox包含以下科目名稱:會計,OC,物理,經濟學,數學等。

我有一個數據庫表,其中費用與特定主題相關聯:

例如表格名稱費用:

Subject      |     Fee

Accounting         2000
Economics          3000
OC                 2000   

我想構建該應用程序,以便當用戶單擊CheckedListBox中的主題時,其費用應自動添加到總計中。

為此,我嘗試了不同的CheckedListBox事件: ClickSelectedIndexChangedItemCheck等。

但是,當我在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM