按钮被执行时执行操作和按钮被释放时的另一个操作
问题描述:
我正在使用视觉工作室来创建Windows IoT应用程序。在应用程序的图形用户界面上有一个按钮,当按下鼠标或按下某个键时,它会执行一个动作,在这种情况下,文本框将更改其文本并运行电机。当按钮被释放时,文本框改变其文本,电机停止。按钮被执行时执行操作和按钮被释放时的另一个操作
我在.cs文件中创建了一个.xml文件和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类似的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
}
}