2016-03-23 2 views
1

Comment puis-je créer une heure aléatoire, comme 10 secondes. Donc, quand je clique sur le bouton, je dois attendre 10 secondes pour voir le nouveau bouton? Ma question est comment créer ce temps aléatoire? Et il doit être en XAMLTemps aléatoire entre 0 et 20 sec?

Mon code:

public void randomButton() 
     {    
      newBtn.Content = "A New Button"; 
      Random myRandom = new Random(); 
      int rand1 = myRandom.Next(0, 400); 
      int rand2 = myRandom.Next(0, 400); 
      panelButton.Children.Add(newBtn); 

      Canvas.SetLeft(newBtn, rand1); 
      Canvas.SetTop(newBtn, rand2); 

      iRandom = row.Next(-350, 350); 
      newBtn.Click += newBtn_Click; 
      newBtn.Margin = new Thickness(iRandom, iRandom, 0, 0); 
     } 

     private void newBtn_Click(object sender, RoutedEventArgs e) 
     { 
      *// here i want the random time to happen!* 
      iRandom = row.Next(-350, 350); 
      newBtn.Margin = new Thickness(iRandom, iRandom, 0, 0); 
     } 

S'il vous plaît aidez-moi, je veux vraiment savoir! Désolé pour mon mauvais Englisch!

Répondre

0
private async void newBtn_Click(object sender, RoutedEventArgs e) 
{ 
    // here i want the random time to happen! 
    await Task.Delay(5000); // 5 sec, make it random 

    iRandom = row.Next(-350, 350); 
    newBtn.Margin = new Thickness(iRandom, iRandom, 0, 0); 
} 
+0

Mais comment puis-je donner une heure aléatoire? – Xaml

+0

@Xaml - Cela vous donne un délai aléatoire entre 2000 et 10000 millisecondes: 'var rnd = new Random(); var delay = rnd.Next (5000, 10001); ' –