2013-04-12 38 views
0

我有列表框和列表視圖,在一種形式中,我必須在它們之間進行同步,例如, 例如,如果我選擇列表框中的第一項,它必須在列表視圖中選中,如果我從列表視圖中選擇一個項目,它必須在列表框中被選中。在列表框和列表視圖之間同步

我有成功,從列表框到列表視圖,但不是爲他們兩個, 我嘗試使用標誌,並且不起作用。

列表框代碼是這樣的:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
{  
    this.listView1.Items[listBox1.SelectedIndex].Selected = true; 
} 

而且的ListView代碼:

private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    this.listBox1.SetSelected(this.listView1.FocusedItem.Index, true); 
} 
+0

你得到的錯誤在這個或這不起作用? –

+0

您還需要將聚焦屬性設置爲true。 –

回答

0

我試圖在我的電腦,和下面的代碼工作:

namespace WindowsFormsApplication5 
    { 
     public partial class Form4 : Form 
     { 
      public Form4() 
      { 
       InitializeComponent(); 
       listBox1.SelectedIndexChanged += new EventHandler(listBox1_SelectedIndexChanged); 
       listView1.ItemSelectionChanged += new ListViewItemSelectionChangedEventHandler(listView1_ItemSelectionChanged); 
       listView1.Items.Add("3434"); 
       listView1.Items.Add("13434"); 
       listBox1.Items.Add("3434"); 
       listBox1.Items.Add("13434"); 
      } 

      void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) 
      { 
       this.listBox1.SetSelected(this.listView1.FocusedItem.Index, true); 
      } 

      void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
      { 
       this.listView1.Items[listBox1.SelectedIndex].Selected = true; 
      } 
     } 
    } 
+0

不,這是行不通的,當你從列表視圖中選擇項目時,它會自動在列表框中選擇,另一個一邊不工作 – user2274204

0

嘗試使用了列表視圖

listView1.ItemSelectionChanged + =新ListViewItemSelectionChangedEventHandler(listView1_ItemSelectionChanged);

void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) 
    { 
     this.listBox1.SetSelected(this.listView1.FocusedItem.Index, true); 
    } 
+0

我嘗試這一點,得到這個錯誤, – user2274204

+0

錯誤沒有重載「listView1_SelectedIndexChanged」匹配委託「System.EventHandler」 – user2274204

+0

您必須刪除listView1.SelectedIndexChanged + =新的設計文件ListViewSelectedIndexChangedEventHandler(listView1_SelectedIndexChanged)。 –