Как выполнить Click-Event на скрытой кнопке - PullRequest
1 голос
/ 07 апреля 2020

В моей C# форме у меня есть две кнопки

button1.Hide()
private void button2_Click(object sender, EventArgs e)
{
 button1.PerformClick();
}

Button1 скрывается при загрузке формы, я хочу, чтобы логика c позади button1 выполнялась, когда она тоже скрыта.

Ответы [ 2 ]

3 голосов
/ 07 апреля 2020

Просто позвольте функции снаружи стать другой функцией, тогда вы можете вызывать функцию, хотя вы скрыли кнопку1.

private void button1(object sender, EventArgs e)
{
  _button1();
}
private void button2(object sender, EventArgs e)
{
  _button1();
}

//Here is the function
void _button1()
{
    ...
}
2 голосов
/ 07 апреля 2020

Если ваша кнопка скрыта, кажется, что вам нужна функциональность, а не только или в особых случаях Сохранение функциональности вне событий часто является простым решением, позволяющим избежать проблем в будущем.

    private void btn_Reload_Click(object sender, EventArgs e)
    { 
      // reload here - maybe you reload all your employees from a datasource
    }

    private void btn_Reload_With_Calculation_Click(object sender, EventArgs e)
    {
      // you can use functionality here from a another button and call the 
      btn_Reload_Click(this, EventArgs.Empty); // DON'T DO THIS IN MY OPINION
      // ....
    }

Может быть, это решение лучше, даже если вам нужна функциональность в других рабочих процессах.

    private void btn_Reload_Click(object sender, EventArgs e)
    {
      Reload();
    }

    private void btn_Reload_With_Calculation_Click(object sender, EventArgs e)
    {
      Reload();
      Calculate();
    }

    void Reload() { }

    void Calculate() { }

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