2013-04-12 36 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)。 –