[英]How do i get items in a listbox that is in another Form
我的項目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());
}
}
在Form2中,此Listbox1是如何在那里獲取項目的。
謝謝
一種簡單的方法是制作一個List
,然后通過Parameters將Form1
的內容傳遞給Form2
,然后用傳遞的內容填充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
時填充List
,則只需執行以下操作:
var Values = new List<string> { "I'm a row!", "So am I!" };
這將產生與上面相同的結果,只是一行而不是三行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.