如何以编程方式更改 DataBinding 索引位置
How do I change DataBinding index position programmatically
如何以编程方式更改 DataBinding 索引位置?
例如:我有一个名为 MYLIST<T>
的 list<>
集合,并且在表单 TEXTBOX1 上放置了两个控件和 LISTBOX1 两个控件都与 MYLIST<T>
.
绑定
在执行时,LISTBOX 控件从 MYLIST 填充,当我单击 LISTBOX1-Item 时,TEXTBOX1.Text 根据 MYLIST 的选定索引进行更改,因为这两个控件都与 MY LIST 绑定。
我想以编程方式设置列表索引位置 2。就像当我点击一个按钮时 TEXTBOX1.Text 应该根据列表索引 [2] 改变,当点击 LISTBOX1.
的第二个项目时同样的行为
我已经试过了。Select但是没有成功,
这里是示例代码:
public partial class Form1 : Form
{
public sealed class Person
{
public string name { get; set; }
}
private List<Person> myList = new List<Person>();
public Form1()
{
InitializeComponent();
myList.Add(new Person(){name = "MyName1"});
myList.Add(new Person(){name = "MyName2"});
myList.Add(new Person(){name = "MyName3"});
textBox1.DataBindings.Add(new Binding("Text", myList, "name"));
listBox1.DataSource = myList;
listBox1.DisplayMember = "name";
listBox1.ValueMember= "name";
}
private void button2_Click(object sender, EventArgs e)
{
myList.Select(person => person.name.StartsWith("MyName2"));
}
}
你可以使用这样的东西
BindingContext[myList].Position = myList.FindIndex(person => person.name.StartsWith("MyName2"));
您可能会发现阅读以下 MSDN 链接BindingContext Class 和
很有用
Control.BindingContext Property
如何以编程方式更改 DataBinding 索引位置?
例如:我有一个名为 MYLIST<T>
的 list<>
集合,并且在表单 TEXTBOX1 上放置了两个控件和 LISTBOX1 两个控件都与 MYLIST<T>
.
在执行时,LISTBOX 控件从 MYLIST 填充,当我单击 LISTBOX1-Item 时,TEXTBOX1.Text 根据 MYLIST 的选定索引进行更改,因为这两个控件都与 MY LIST 绑定。
我想以编程方式设置列表索引位置 2。就像当我点击一个按钮时 TEXTBOX1.Text 应该根据列表索引 [2] 改变,当点击 LISTBOX1.
的第二个项目时同样的行为我已经试过了。Select但是没有成功,
这里是示例代码:
public partial class Form1 : Form
{
public sealed class Person
{
public string name { get; set; }
}
private List<Person> myList = new List<Person>();
public Form1()
{
InitializeComponent();
myList.Add(new Person(){name = "MyName1"});
myList.Add(new Person(){name = "MyName2"});
myList.Add(new Person(){name = "MyName3"});
textBox1.DataBindings.Add(new Binding("Text", myList, "name"));
listBox1.DataSource = myList;
listBox1.DisplayMember = "name";
listBox1.ValueMember= "name";
}
private void button2_Click(object sender, EventArgs e)
{
myList.Select(person => person.name.StartsWith("MyName2"));
}
}
你可以使用这样的东西
BindingContext[myList].Position = myList.FindIndex(person => person.name.StartsWith("MyName2"));
您可能会发现阅读以下 MSDN 链接BindingContext Class 和
很有用
Control.BindingContext Property