簡體   English   中英

在C#中顯示CheckedListBox的ValueMember

[英]Show ValueMember of a CheckedListBox in c#

我有一個綁定到表的CheckedListBox。我想從我檢查的列表中獲取任何項目的ValueMember.Presenting我正在遍歷列表的所有檢查項目以顯示ValueMember,結果這向我顯示了幾個我不想要的消息框。 我想在任何情況下如果我檢查任何項目,那么它應該向我顯示其對應的ValueMember。我當前的代碼是

foreach (DataRowView view in clbAnnually.CheckedItems)
{
  MessageBox.Show(view[clbAnnually.ValueMember].ToString());
} 

我曾在SO中尋找類似的問題,但他們沒有解決我的問題。 請建議代碼。

使用CheckedListBox.ItemCheck事件。 當用戶檢查項目並提供有關已檢查項目的所有信息時,將引發該事件。

DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Name");

table.Rows.Add(0, "Name 0");
table.Rows.Add(1, "Name 1");
table.Rows.Add(2, "Name 2");

checkedListBox1.DataSource = table;
checkedListBox1.DisplayMember = "Name";
checkedListBox1.ValueMember = "ID";

checkedListBox1.ItemCheck += CheckedListBox1_ItemCheck;

1。

private void CheckedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) {
    CheckedListBox clb = (CheckedListBox)sender;
    DataRowView row = (DataRowView)clb.Items[e.Index];
    MessageBox.Show(row[clb.ValueMember].ToString());
}

2。

private void CheckedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) {
    CheckedListBox clb = (CheckedListBox)sender;
    MessageBox.Show(clb.SelectedValue.ToString());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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