Как передать вместе с нажатием на кнопку переменную? - PullRequest
0 голосов
/ 24 апреля 2019

Я не знаю название кнопки, которую я передаю.Для дальнейшей работы с данными мне нужно передать хотя бы идентификатор.Но когда я пытаюсь отправить что-то еще вместе с событием, появляется ошибка.У меня есть база данных Sqlite

for (int i = 0; i < database.Rows.Count; i1++)
{
    Button buttonNew  = new Button();
    int id = Convert.ToInt32(row["id"]); //i get id elem of my database 
    buttonNew.Click += ButtonNewClick(id);
}
void ButtonNewClick(int id)
{
    Form2 fNext = new Form2();
    fNext.Show();
    //Other operations...
}

Может я что-то не так делаю ...Ты можешь мне помочь?

1 Ответ

0 голосов
/ 25 апреля 2019

Сохраните идентификатор в свойстве TAG вашей динамической кнопки, затем вы можете получить его позже, применив кнопку «отправитель» к кнопке в событии щелчка:

    private void Foo()
    {
        for (int i = 0; i < database.Rows.Count; i1++)
        {
            Button buttonNew = new Button();
            int id = Convert.ToInt32(row["id"]); //i get id elem of my database 
            buttonNew.Tag = id; // store the ID for later retrieval
            buttonNew.Click += ButtonNew_Click;
            // ... add "buttonNew" to something ...
        }

    }

    private void ButtonNew_Click(object sender, EventArgs e)
    {
        Button btn = sender as Button;
        int id = (int)btn.Tag;
        // ... do something with "id" ...
    }

Примечаниечто ПОДПИСЬ обработчика щелчка изменилась.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...