form.timer не вызывает функцию при загрузке формы - PullRequest
0 голосов
/ 24 сентября 2010

У меня следующий код в функции form_Load

System.Windows.Forms.Timer newtimer = new Timer();
newtimer.Tick += new EventHandler(refreshinfo);
newtimer.Start();
newtimer.Interval = 20000;

Функция «refreshinfo» выглядит следующим образом:

private void refreshinfo(object source,EventArgs e)
{
       // Some code here
}

Функция «refreshinfo» вызывается через 20 секунд. Все идет нормально. Проблема в том, что я хочу, чтобы "refreshinfo" также вызывался при событии form_Load. Чтобы я мог получить желаемые результаты из «refreshinfo», когда пользователь загружает эту форму.

Ответы [ 3 ]

1 голос
/ 24 сентября 2010
public void Form_Load(object sender, EventArgs e)
{
    // Invoke it after 20 seconds
    Timer newtimer = new Timer();
    newtimer.Tick += refreshinfo;
    newtimer.Interval = 20000;
    newtimer.Start();

    // Invoke it now
    refreshinfo(sender, e);
}
0 голосов
/ 24 сентября 2010

Просто запустите его в form_Load

Thread thrd = new Thread(() => { refreshinfo(null, null); });
thrd.Start();
0 голосов
/ 24 сентября 2010

Почему бы вам просто не вызвать функцию refreshinfo () в функции Form_Load?

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