2012-04-05 70 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

相关问题