C# 如何将项目添加到另一个Listbox2中的选定Listbox1项目中?
我试图做的是将项目添加到listbox1中,当我选择特定项目时,它会在另一个列表框中显示更多信息 下面是一个例子: Listbox1有一个人Bob 选择Bob后,他的电话号码将显示在Listbox2上 您还可以向所选项目添加电话号码。 选择另一项后,Bob Phone Number(电话号码)将消失,并显示下一个选定的姓名和电话 因此,在我的例子中,当一个组织被选中时,它会显示在该组织工作的所有人员的姓名 以下是我所拥有的(不确定这对c#来说是对还是错) Person.csC# 如何将项目添加到另一个Listbox2中的选定Listbox1项目中?,c#,C#,我试图做的是将项目添加到listbox1中,当我选择特定项目时,它会在另一个列表框中显示更多信息 下面是一个例子: Listbox1有一个人Bob 选择Bob后,他的电话号码将显示在Listbox2上 您还可以向所选项目添加电话号码。 选择另一项后,Bob Phone Number(电话号码)将消失,并显示下一个选定的姓名和电话 因此,在我的例子中,当一个组织被选中时,它会显示在该组织工作的所有人员的姓名 以下是我所拥有的(不确定这对c#来说是对还是错) Person.cs string Fir
string FirstName;
string PhoneNumber;
public Person(string FName, string PNumber)
{
FirstName = FName;
PhoneNumber = PNumber;
}
组织机构
string Name;
public string OrggName
{
get
{
return Name;
}
set
{
Name = value;
}
}
public override string ToString()
{
return Name;
}
按钮点击事件
private void button1_Click(object sender, EventArgs e)
{
NewOrgg = new Organisation();
NewOrgg.OrggName = textBox1.Text;
listBox1.Items.Add(NewOrgg);
}
您可以使用事件
我认为,如果您有可能的话,为了更简单起见,可以这样更改Person类: 添加指向此人所属组织的链接:
public string FirstName;
public string PhoneNumber;
public string OrggName; //Person's Organisation.
public Person(string FName, string PNumber, string OName)
{
FirstName = FName;
PhoneNumber = PNumber;
OrggName = OName;
}
好的,现在我们有个人和组织课程。
在项目的main.cs中,我认为您可以这样做: //Define the data providers
List<Organisation> listofOgg; //List of Organisation or maybe Organisation[];
List<Person> listofPers; //Again List of related Person or maybe Person[];
就是这样,我们成功了:D让我知道这是否是你所期待的 如何将数据加载到listbox1和listbox2?这是我对它所做的两个非常好的调整,非常感谢!!
//Define the data providers
List<Organisation> listofOgg; //List of Organisation or maybe Organisation[];
List<Person> listofPers; //Again List of related Person or maybe Person[];
public void FillThemAll()
{
//Initialize some Lists
listofOgg = new List<Organisation>();
listofPers = new List<Person>();
Organisation o = new Organisation();
o.OrggName = "Stackoverflow";
listofOgg.Add(o);
//Another one
o.OrggName = "Internet"; // Yes I know, I don't have any Organisation name :-)
listofOgg.Add(o);
//Now let's handle some Person
Person p = new Person("Tash Nar", "0123456", "StackOverFlow");
Person p2 = new Person("Lionnel", "0123456", "StackOverFlow");
Person p3 = new Person("You and Me", "0123456", "Internet");
//Add them
listofPers.Add(p); listofPers.Add(p2); listofPers.Add(p3);
//Now assuming that we have our two displayed ListBox (listbox1 and listbox2)
//listbox1 for all organisations and listbox2 for more details about organisations
//Let's fill listbox1 with our data
for(int i=0; i < listofOgg.Count; i++)
{
listbox1.Items.Add(listofOgg[i].Name);
}
}
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
string curItem = listBox1.SelectedItem.ToString();
//clear all items in listbox2
listBox2.Items.Clear();
//Add SelectedItem's related Person in listbox2
foreach(Person pers in listofPers)
{
if(pers.OrggName == curItem)
{
//Add this person in listbox2
listbox2.Items.Add(pers.FName);
}
}
}