2016-10-22 3 views
0

J'utilise Visual Studios pour créer une application Windows IoT. Sur l'interface graphique de l'application, il y a un bouton qui, lorsqu'il est maintenu enfoncé avec un clic de souris ou une touche enfoncée, effectue une action, dans ce cas une zone de texte change de texte et un moteur est exécuté. Lorsque le bouton est relâché, la zone de texte change de texte et le moteur est arrêté.Effectuer une action lorsque le bouton est maintenu et une autre action lorsque le bouton est libéré

J'ai créé un bouton dans le fichier .xml et l'événement button_holding dans le fichier .cs, mais cela n'effectue aucune action.

Répondre

1

Sur l'interface graphique de l'application il y a un bouton qui Enfoncées en un clic de souris ou une touche enfoncée effectue une action, dans ce cas une zone de texte change de texte et un moteur est exécuté. Lorsque le bouton est , la zone de texte change de texte et le moteur est arrêté.

Vous pouvez utiliser PointerPressedEvent et PointerReleasedEvent pour l'atteindre. Ceci est le code fonctionne pour moi:

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"; 
} 
0

Vous pouvez utiliser l'événement Holding obtenir la même MouseUp et MouseDown dans WinForms traditionnels, comme si

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 
      } 
     }