Передать список из класса в список другой формы - PullRequest
0 голосов
/ 12 апреля 2020

В настоящее время я работаю над своим первым реальным проектом, примитивным браузером на основе Gecko в WinForms (я новичок, пожалуйста, не стесняйтесь sh со мной). Сам браузер находится в Form1 (ablak), и когда я нажимаю кнопку истории, форма 2 должна выскочить с ListBox истории. Я был заблокирован, когда попытался выяснить, как отправить список из Form1 в Form2. (когда я попробовал это с ListBox в form1, это работало)

Form1:

public partial class ablak : Form // ablak=Form1
    {

 // codes..

        List<string> elozmenyek = new List<string>(); // the history list
        public void elozmenyek_method(ref List<string> elozmenyek)
        {

            foreach (GeckoHistoryEntry _E in geckoWebBrowser1.History)
            {
                elozmenyek.Add(_E.Url.ToString()); // putting the urls into the list
            }
        }

        public void elozmenyek_gomb_Click(object sender, EventArgs e) 
        {
            elozmenyek_method(ref elozmenyek);

            Form2.listbox_transfer.DataSource = elozmenyek; // when i click it sends the history list to Form2's listbox_transfer list
        }
    }

Форма 2:

public partial class Form2 : Form
    {
        public ListBox listbox_transfer;

        public Form2()
        {
            InitializeComponent();
            listBox1 = listbox_transfer; // puts the transferred list into the ListBox
        }


    }

Заранее спасибо!

1 Ответ

0 голосов
/ 12 апреля 2020

Form1 publi c частичный класс ablak: Form // ablak = Form1 {

// коды ..

    List<string> elozmenyek = new List<string>(); // the history list
    public void elozmenyek_method(ref List<string> elozmenyek)
    {

        foreach (GeckoHistoryEntry _E in geckoWebBrowser1.History)
        {
            elozmenyek.Add(_E.Url.ToString()); // putting the urls into the list
        }
    }

    public void elozmenyek_gomb_Click(object sender, EventArgs e) 
    {
        elozmenyek_method(ref elozmenyek);

        Form2 form2 = new Form2(elozmenyek);//Pass list as constructor parameter to Form2
        form2.ShowDialog();
    }
}

Form2:

public partial class Form2 : Form
{
    public Form2(List<string> elozmenyek)
    {
        InitializeComponent();
        listBox1.DataSource = elozmenyek; // puts the transfered list into the listbox
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...