我在后台有一个带有点击事件的按钮。 我可以在另一个计时器触发事件中使用此方法吗?
private void bt_Disconnect_Click(object sender, RoutedEventArgs e)
{
if(ser.disconnect())
{
img_Ampel.Source = ampeln[0];
bt_Connect.IsEnabled = true;
bt_Disconnect.IsEnabled = false;
}
}
这就是点击事件。 以下代码段是计时器触发器。
private void polling_tick(object sender, EventArgs e)
{
if (!serial_port.IsOpen)
{
mw.Show("Die Verbindung ist abgebrochen!", "Bitte schließen Sie das Gerät wieder an uns klicken Sie auf Verbinden.");
polling.Stop();
MainWindow.bt_Disconnect_Click();
}
}
答案 0 :(得分:2)
单独的逻辑和事件处理 最简单的方法是提取方法:
private void DoSmth()
{
if(ser.disconnect())
{
img_Ampel.Source = ampeln[0];
bt_Connect.IsEnabled = true;
bt_Disconnect.IsEnabled = false;
}
}
private void bt_Disconnect_Click(object sender, RoutedEventArgs e)
{
DoSmth();
}
private void polling_tick(object sender, EventArgs e)
{
if (!serial_port.IsOpen)
{
mw.Show("...");
polling.Stop();
DoSmth();
}
}
答案 1 :(得分:1)