2015-12-23 15 views
-3

我有2列表框和2文本框,我需要做的是如果我單擊列表框1中的項目它顯示列表框2中的2個或更多項目,如果我單擊列表框中的項目2會出現一個操作,它會出現在文本框1和文本框2中,即 前。圓珠筆= 10,筆記本= 20c#使用多個列表框

「listBox1」中包含的項目是「筆」和「筆記本」。如果我點擊筆記本一個項目將顯示在列表框2:1,2然後,如果我點擊「1」,文本框1.text = 20因爲筆記本是20 * 1 = 20

+1

你所尋找的是被稱爲事件的SelectedIndexChanged – MaxOvrdrv

+0

可以ü請使用的SelectedIndexChanged給我一些例子。 TNX! :D – Alain

+1

Google是你的朋友。有數百萬的例子... – MaxOvrdrv

回答

0

我認爲你可以使用字典存儲listBox1和listBox2的信息。鍵是listBox1中的項目,值是listBox2中的列表項目。當你點擊listBox1中的一個項目=>調用listBox1的SelectedIndexChanged事件=>獲得你選擇的項目(假設=值1)=>在鍵盤上尋找= value1 =>你將得到listBox2中的列表項目(假設= listItems)= >當你點擊listBox2中的一個項目時,將listItems添加到listBox2 =>中調用ListBox2的SelectedIndexChanged事件=>更新textbox1的值,並且textBox2 =項目在列表框1和列表框2中被選中。

1

所以,我只是要爲您的物品創建一個枚舉。

public enum ListBoxItemThing 
{ 
    Pen = 10, Notebook = 20 
} 

然後我將這些添加到窗體構造函數中的「listBox1」。

public Form1() 
{ 
    InitializeComponent(); 
    foreach(ListBoxItemThing item in Enum.GetValues(typeof(ListBoxItemThing))) 
    { 
     listBox1.Items.Add(item); 
    } 
} 

然後使用這個程序做計算textBox1的:

private void Calculate() 
{ 
    int a = (int)(listBox1.SelectedItem as ListBoxItemThing); 
    int b = int.Parse(listBox2.SelectedItem.ToString()); 
    textBox1.Text = (a * b).ToString(); 
}