按住按钮时执行动作,松开按钮时执行另一个动作

本文关键字:执行 按钮 另一个 | 更新日期: 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
            }
        }