2016-08-20 29 views
-3

我有一個帶兩個列表框的列表,listbox1 & listbox2。在表單加載時,我填寫了兩個列表框,其中沒有。項目。 我希望如果我選擇列表框1中索引1的項目,那麼也應選擇具有相同索引的列表框2項目。c中的列表框#

我該如何做到這一點?

+0

的問題是不夠清楚,因爲我明白,如果我從列表1,那麼第2項中選擇第1項從列表2中也會被選中?所以如果我從列表1中選擇項目2,那麼列表2中的項目3將被選中? – Ateeq

+0

到目前爲止你有嘗試過什麼嗎?你可以做這樣的事情'listBox2.SelectedIndex = listBox2.SelectedIndex + 1;' –

+0

是我們正在談論的WinForms或WPF? –

回答

0

訂閱兩個列表框SelectionChanged事件,然後相應地爲相反的列表框設置SelectedIndex

0

您可以將listBox2中的SelectedIndex綁定到listBox1中的SelectedIndex

像這樣:

<ListBox Name="listBox1" /> 
<ListBox SelectedIndex="Binding ElementName=listBox1,Path=SelectedIndex" /> 

但是,如果要反思listBox2選擇變回listBox1中,你不能只是做listBox1中相同的結合,因爲它會拋出StackOverflowException。您應該訂閱listBox2上的SelectionChanged事件並更改代碼中listBox1的SelectedIndex。

像這樣:

<ListBox Name="listBox2" SelectedIndex="Binding ElementName=listBox1,Path=SelectedIndex" SelectionChanged="listBox2_SelectionChanged" /> 

而且事件處理方法是這樣的:

private void listBox2_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    listBox1.SelectedIndex = listBox2.SelectedIndex; 
}