按住按钮时执行动作,松开按钮时执行另一个动作
本文关键字:执行 按钮 另一个 | 更新日期: 2023-09-27 18:14:16
我正在使用visual studio创建一个Windows IoT应用程序。在应用程序的GUI上有一个按钮,当用鼠标点击按住或按下一个键时,它会执行一个动作,在这种情况下,文本框会改变其文本并运行电机。松开按钮后,文本框的文本发生变化,电机停止运行。
我在.xml文件中创建了一个按钮,在.cs中创建了button_holding事件,但这并没有执行任何操作。
在应用程序的GUI上有一个按钮,当按下一个在本例中,单击鼠标或按下键执行操作文本框改变文本,电机运行。当按钮是释放文本框,文本改变,电机停止。
你可以使用PointerPressedEvent和PointerReleasedEvent来实现它。这是我的工作代码:
public MainPage()
{
this.InitializeComponent();
myButton.AddHandler(PointerPressedEvent, new PointerEventHandler(myButton_PointerPressed), true);
myButton.AddHandler(PointerReleasedEvent, new PointerEventHandler(myButton_PointerReleased), true);
}
private void myButton_PointerPressed(object sender, PointerRoutedEventArgs e)
{
myText.Text = "Running...";
}
private void myButton_PointerReleased(object sender, PointerRoutedEventArgs e)
{
myText.Text = "Stopped";
}
你可以在传统的WinForms中使用hold事件来获得类似的MouseUp和MouseDown,就像这样
private void Button_Holding(object sender, HoldingRoutedEventArgs e)
{
if (e.HoldingState == Windows.UI.Input.HoldingState.Started)
{
//do things when button on hold
}
else if (e.HoldingState == Windows.UI.Input.HoldingState.Completed ||
e.HoldingState == Windows.UI.Input.HoldingState.Canceled)
{
//do things when button release
}
}