C# c列表框和选项卡页
我在使用相同数据源的不同选项卡页上有2个Listbox 基本上是它的tabpage1+listbox1和tabpage2+listbox2 我正在努力做到以下几点: 当我从tabpage1上的listbox1中选择项目时,我希望将相同的项目选择到tabpage2上的listbox2 我试过这个:C# c列表框和选项卡页,c#,listbox,tabpage,C#,Listbox,Tabpage,我在使用相同数据源的不同选项卡页上有2个Listbox 基本上是它的tabpage1+listbox1和tabpage2+listbox2 我正在努力做到以下几点: 当我从tabpage1上的listbox1中选择项目时,我希望将相同的项目选择到tabpage2上的listbox2 我试过这个: listbox1.SelectedItem = listBox2.SelectedItem; 还包括: string sitem = ""; sitem = listbox1.SelectedItem
listbox1.SelectedItem = listBox2.SelectedItem;
还包括:
string sitem = "";
sitem = listbox1.SelectedItem.ToString();
listbox2.SelectedItem = sitem
没有任何东西能按预期工作,我想知道这是否可能?确保tabControl声明为public或internal。如果没有,则在designer.cs文件中将tabControl从private更改为public
private System.Windows.Forms.TabControl tabControl1;
public System.Windows.Forms.TabControl tabControl1;
然后
using (Form form = new Form())
{
form.listbox1.SelectedItem = form.listBox2.SelectedItem;
}
最后,我以PaulF为例进行了说明 这是我的工作代码:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string sitem = listBox1.SelectedItem.ToString();
int index = listBox2.FindString(sitem);
listBox2.SetSelected(index, true);
}
因此,当我在listbox1中选择项时,它也会在listbox2中选择它设置listbox2的SelectedIndex属性:
在哪个事件中,您试图设置selectedItemin listBox1_SelectedIndexChangedSee示例以获取可能的解决方案:很好,这正是我想要的:我想我应该把它作为一个答案发布,但由于我只是引导您访问MS文档,我觉得它只值得一提。
listbox1.SelectedIndexChanged += delegate(object sndr, EventArgs args)
{
var lst = (ListBox) sndr;
listbox2.SelectedIndex = listbox2.Items.IndexOf(lst.SelectedItem);
};