如何每5秒自动触发Button_Click事件?

时间:2016-06-10 03:13:31

标签: c# wpf

我有一个名为Submit的按钮名称。我想每5秒触发一次Auto Button_Click事件。

E.g:

private void Button_Click(object sender, RoutedEventArgs e)
{
     MessageBox.Show("Welcome to WPF....");
}

5秒我需要调用此Button_Click事件来自动显示消息,例如"欢迎使用Google ...."

请帮我解决。

3 个答案:

答案 0 :(得分:0)

创建一个每5秒运行一次的计时器并发送:Button_Click(null,null);

public static void Main()
{
    var timer = new Timer();
    timer.Elapsed+= OnTimedEvent;
    timer.Interval=5000;
    timer.Enabled=true;
    Console.ReadKey();
}

 private static void OnTimedEvent(object source, ElapsedEventArgs e)
 {
     Button_Click(null, null);
 }

答案 1 :(得分:0)

Wpf中,您可以使用DispatcherTimer

public MainWindow() 
{ 
    InitializeComponent(); 

     Loaded += MainWindow_Loaded;
}

private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
    //Timer     
    DispatcherTimer timer = new DispatcherTimer(); 
    timer.Tick += (s, ev) => btnClickMe.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); 
    timer.Interval = new TimeSpan(0, 5, 0); 
    timer.Start(); 
}

答案 2 :(得分:0)

就这么简单。创建一个持续时间为5秒的计时器,并在timer_tick事件上执行此操作。

buttonName.RaiseEvent(new RoutedEventArgs(ButtonBase.ClickEvent));