Есть ли способ передать параметр в форму() для buttonEvent в той же форме

#c# #visual-studio #winforms

Вопрос:

Как я могу использовать список 2 из общедоступной FormGenSea в кнопке btAddSeaToDB?

     public partial class FormGenSea : Form
    {
        public FormGenSea(List<string> dow, List<string> dtlist)
        {
            InitializeComponent();
            List<string> Selected = dow;
            List<string> Data = dtlist;

        }

        private void btAddSeaToDB_Click(object sender, EventArgs e)
        {

            /*Do some stuff with the 2 list from above */
        }
    }
 

Комментарии:

1. Вы должны объявить список выбранных и данных на уровне класса, если хотите использовать их вне области конструктора.

2. Как я могу это сделать, я не настолько разбираюсь в C#, так что пример был бы отличным 🙂 2 списка отправляются из другой формы в новую FormGenSea()

3. посмотрите, как объявлять поля классов.

Ответ №1:

Вы должны использовать локальные переменные внутри своего класса и использовать их после установки в своем конструкторе, ваш код будет выглядеть следующим образом:

 public partial class FormGenSea : Form
    {
        private List<string> Selected;
        private List<string> Data ;
        public FormGenSea(List<string> dow, List<string> dtlist)
        {
            InitializeComponent();
            Selected = dow;
            Data = dtlist;

        }

        private void btAddSeaToDB_Click(object sender, EventArgs e)
        {

            /*Do some stuff with the 2 list from above (Data ,Selected ) */
        }
    }
 

Комментарии:

1. лол, я чувствую себя глупо -_- ! это просто, ну, я провожу слишком много времени в этом проекте, что забыл некоторые основы! Спасибо большое за напоминание!!

2. Visual studio должна сообщить вам об этих мелочах, если вы сосредоточились на ошибке