按钮被执行时执行操作,按钮被释放时执行另一个操作

时间:2016-10-22 19:33:33

标签: c# visual-studio xaml windows-10-iot-core

我正在使用视觉工作室来创建Windows IoT应用程序。在应用程序的GUI上有一个按钮,当按下鼠标单击或按下按键时,它会执行操作,在这种情况下,文本框会更改其文本并运行电机。释放按钮时,文本框会更改其文本并停止电机。

我在.xml文件中创建了一个按钮,并在.cs中创建了button_holding事件,但这并没有执行任何操作。

2 个答案:

答案 0 :(得分:1)

  

在应用程序的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";
}

答案 1 :(得分:0)

你可以使用Hold事件在传统的WinForms中获得类似的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
            }
        }