2012-04-05 75 views
0

使用WPF應用程序。 我非常想知道如果有可能獲得一個函數luke下面的例子到一個類函數(即時通訊還沒有很多與C#)。我可以把它放入類功能嗎? (計數器)

private void counter01_Tick(object sender, EventArgs e) 
{ 
    if (counter01Ticks > 0) 
    { 
     //subtract 1 each time 
     counter01Ticks--; 

     //subtrack 1 secon each time 
     counter01Span = counter01Span.Subtract(TimeSpan.FromSeconds(1)); 

     //update the progressbar 
     progBar01.Value++; 

     //get the % to show 
     progBar01Text.Text = Convert.ToString(Math.Round(((progBar01.Value/progBar01.Maximum) * 100), 0)) + "%"; 

     //Label1 will show the count down. 
     string countDown = counter01Span.ToString(); 
     TimeRemain01.Content = countDown; 
    } 
    else 
    { 
     counter01.Stop(); 
     resetCounter01(); 

     WarningMessage msgWarnOne = new WarningMessage(); 
     msgWarnOne.warnMessage.Text = Properties.Settings.Default.msgScout01; 
     msgWarnOne.ShowDialog(); 
    } 
} 

它只是計數器的一部分。但我想稍後在我的應用程序中添加更多計數器。 因此,我在代碼中用數字(01)標記了所有參數。

所以我不想做的,我複製粘貼代碼和更改每個計數器的數量,而是將數字作爲輸入數字或其他東西。

會這樣嗎? 如果i9能夠理解它的這一小部分代碼,我想我也可以用其他部分來完成它(上面只是tick表單的一個計數器)。

@用戶回答如下: http://www.c-sharpcorner.com/uploadfile/mahesh/user-control-in-wpf/ 幫助我更好地理解它,也很有用。

回答

2

是的,你可以把所有的這(與你的XAML聲明一起)成爲W¯¯PF-user control,並把多個這些到其他Windows/Controls/...

只要看看我鏈接的教程 - 應解釋你需要的一切。

+0

阿哈我看到。似乎我有很多想法我們嘻哈。感謝您的鏈接 – Dante1986 2012-04-05 06:37:00

+0

我真的沒有發件人在我的情況。但我想不可能把所有的「01」改變成一些Var,並使其成爲我輸入該Va​​r的函數。像01/02/03? – Dante1986 2012-04-05 06:47:46

+0

像文本查找/替換 - 某種預處理器?不,我不認爲你會這樣做...... – Carsten 2012-04-05 06:49:53

-1

您可以使用方法Control.FindControl;

另一種方法是讓用戶控制 - 因此你會在每一個counter_Tick只有1陣列的控制工作

+0

- ,'.FindControl'位於'System.Web.UI'中。該操作正在處理wpf ...這是一個解決方案(http://stackoverflow.com/questions/636383/wpf-ways-to-find-controls)用於查找控件。順便說一句:和usercontrols也是特定於asp.net ... – 2012-04-05 06:29:36

+0

用戶控件可以在任何地方。而FindControl只是一個例子,它不是很好的方法 – JleruOHeP 2012-04-05 06:33:46

+0

@JleruOHeP,如果你認爲它不是一個非常好的方法,那麼你爲什麼建議呢? – svick 2012-04-05 06:37:42

相關問題