簡體   English   中英

我如何在另一個窗體的列表框中獲取項目

[英]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 ,然后通過ParametersForm1的內容傳遞給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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM