![](/img/trans.png)
[英]Nested Listbox how to set parent listbox selectedItem on child listbox mouse double click
[英]How to set mouse click for listbox that is not currently selected?
我想創建僅在上一個列表框中單擊某個項目后才出現的多個列表框。 因此,當我在listbox1中選擇一個項目時,它會顯示listbox2的項目,而當我單擊listbox2中的一個項目時,它會顯示列表框3的所有項目,等等。但是之后,我得到以下錯誤:對象引用未設置為對象的實例。 單擊前一個列表框中的項目后,如何設置多個列表框以使其顯示而不會出現錯誤?
private void Form1_Load(object sender, EventArgs e)
{
listBox1.Items.Add(1);
listBox1.Items.Add(2);
listBox1.Items.Add(3);
}
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
string curItem1 = listBox1.SelectedItem.ToString();
if (curItem1 == "1")
{
listBox2.Items.Add(1);
if(curItem1 == "1")
{
listBox3.Items.Add(1);
}
string curItem2 = listBox2.SelectedItem.ToString();
///This is where I get the error!
}
}
添加后,您需要選擇該項目:
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
string curItem1 = listBox1.SelectedItem.ToString();
if (curItem1 == "1")
{
listBox2.Items.Add(1);
listBox2.SelectedIndex = 0; //<= This selects the item
if (curItem1 == "1")
{
listBox3.Items.Add(1);
}
string curItem2 = listBox2.SelectedItem.ToString();
///This is where I get the error!
}
}
我也會在這里進行一些檢查,例如。 第一行可能是:
if (listBox1.SelectedItems.Count == 0) return;
您已在分配listBox2.SelectedItem之前引用了它,這就是為什么收到異常的原因,只需簡單地分配listbox2的SelectedItem屬性即可解決該問題:
string curItem1 = listBox1.SelectedItem.ToString();
if (curItem1 == "1")
{
listBox2.Items.Add(1);
listBox2.SelectedItem = 1;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.