2012-08-23 88 views
0

我必須在按住按鈕的同時增加滑塊控件的值。
只要我按住滑塊不斷增加的按鈕。WP7,C#,通過按住按鈕增加滑塊值

例如,該場景對於音量控制而言是典型的。
我有一個音量滑塊和一個按鈕Increase音量。
現在只要我按住Increase按鈕,滑塊中的音量(標記)就會不斷增加,直到我鬆開按鈕。

我所取得的成就是改變了個別的滑塊的值點擊按鈕上的事件。
請提出您的建議,告訴我如何實現這一目標。

回答

0
public bool Ok = false; 

    public void Do() 
    { 
     while (Ok) 
     { 
      this.Text += "."; 
      System.Threading.Thread.Sleep(100); 
      Application.DoEvents(); 
      //I added dots to the form text , You do your own mission 
     } 
    } 

    private void btnLouder_MouseDown(object sender, MouseEventArgs e) 
    { 
     Ok = true; 
     Do(); 
    } 

    private void btnLouder_MouseUp(object sender, MouseEventArgs e) 
    { 
     Ok = false; 
    } 

添加跟蹤條控件到窗體,然後
這一個替換當塊中的代碼,它正是你想要的:

if(trackBar1.Value < trackBar1.Maximum) 
    trackBar1.Value += 1; 
+1

請使用RepeatButton而不是此。 Click事件中的一段時間(true)循環,Thread.Sleep和Application.DoEvents彼此傷害了我的眼睛。 –

1

按照book應該的RepeatButton 。在這種情況下,它將非常適合您的需求。儘量避免線程睡眠。凍結不是很好的事情。這是重構的第一個候選人之一。