2016-03-23 22 views
1

如何創建一些隨機時間,如10秒。所以當我點擊按鈕時,我必須等待10秒才能看到新的按鈕?我的問題是如何創建隨機時間?而且它必須是在XAML0到20秒之間的隨機時間?

我的代碼:

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

請幫助我,我真的很想知道它!對不起,我的英語不好!

回答

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

但我該如何給一個隨機時間? – Xaml

+0

@Xaml - 這會給你2000到10000毫秒之間的隨機延遲: 'var rnd = new Random(); var delay = rnd.Next(5000,10001);' –