【问题标题】:Can i put this into a class function? (counter)我可以把它放到一个类函数中吗? (柜台)
【发布时间】:2012-04-05 06:23:06
【问题描述】:

使用 WPF 应用程序。 我非常想知道是否有可能将下面的示例中的函数加入到类函数中(我对 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 能理解这一小部分代码,我想我也可以用其他部分来做(上面只是一个计数器的刻度)。

@Users 用户使用以下答案: http://www.c-sharpcorner.com/uploadfile/mahesh/user-control-in-wpf/ 帮助我更好地理解它,并且可能对阅读也有用。

【问题讨论】:

    标签: c# wpf optimization counter


    【解决方案1】:

    是的,您可以将所有这些(连同您的 XAML 声明)放入 WPF-user control 并将其中的多个放入其他 Windows/Controls/...

    看看我链接的教程 - 应该解释你需要的一切。

    【讨论】:

    • 啊哈,我明白了。看来我有很多事情要弄清楚我们的呵呵。感谢您的链接
    • 在我的情况下,我真的没有发件人。但我想不可能将所有“01”更改为某个 Var 并使其成为我输入该 var 的函数。喜欢 01/02/03 吗?
    • 像文本查找/替换 - 某种预处理器?不,我不认为你会想要那样做......
    • 这是一个有多个计数器的应用程序。您不会建议复制/粘贴每个计数器的代码吗?那是第一个我将所有参数命名为 01,第二个我将使用 02。不幸的是,我对 C# 还不是很熟悉,所以我不确定如何选择它。如果我能从该工具提示中理解并在我的情况下以某种方式使用它,我会尝试。
    • 不,我不建议这样做——我会用你的 UI 创建一个用户控件,一个计时器做你想做的事,然后把这个用户控件的多个实例放入你的应用程序中——所以你只编写代码和 XAML 一次
    【解决方案2】:

    您可以使用方法Control.FindControl;

    另一种方法是让用户控制 - 因此您将在每个 counter_Tick 中只使用 1 个控件数组

    【讨论】:

    • -,.FindControl 位于System.Web.UI。 op 正在处理 wpf ...这是一个用于查找控件的解决方案 (stackoverflow.com/questions/636383/wpf-ways-to-find-controls)。顺便说一句:用户控件也是 asp.net 特定的......
    • 用户控件可以在任何地方进行。而 FindControl 只是一个例子,并不是很好的方法
    • @JleruOHeP,如果你认为这不是一个很好的方法,那你为什么建议它?
    • 只是为了展示这种可能性。也许我应该改写 myselsf 并以“更好”开头 2 段
    猜你喜欢
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    • 2010-09-25
    • 2015-05-14
    相关资源
    最近更新 更多