[英]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.