我的项目Form1和Form2中有2个表单
在Form1中初始化时,我必须在Form2中的Listbox1中获取项目。
以下是Form1中的代码:
private void OnRosterItem(object sender, agsXMPP.protocol.iq.roster.RosterItem item)
{
if (InvokeRequired)
{
BeginInvoke(new XmppClientConnection.RosterHandler(OnRosterItem), new object[] { this, item });
return;
}
if (item.Subscription == SubscriptionType.both)
{
for (int i = 0; i < listBox1.Items.Count; i++)
{
if (item.Jid.ToString() == listBox1.Items[i].ToString())
{
listBox1.Items.Remove(item.Jid);
}
}
listBox1.Items.Add(item.Jid.ToString());
}
}
此Listbox1在Form2中如何获取项目。
谢谢
答案 0 :(得分:0)
简单方法是制作List
并将Form1
的内容传递给Form2
到Parameters,然后使用传递的内容填充Listbox
在Form2
构造函数中:
public MainWindow(List<string> Values)
{
InitializeComponent ();
foreach(var row in Values){
Listbox1.Items.Add(row);
}
}
在调用Form1
时Form2
:
List<string> Values = new List<string>();
Values.Add("I'm a row!");
Values.Add("So am I!");
var form = new Form2();
form.Show(Values);
Listbox
将按照我的示例包含以下项目:
如果您想在创建时填充List
,可以执行以下操作:
var Values = new List<string> { "I'm a row!", "So am I!" };
这与上面产生的结果相同,只有一行而不是三行。