【发布时间】:2015-04-23 04:52:40
【问题描述】:
我以编程方式制作了 3 个按钮,并在 for 循环中为它们添加了 Click 事件。
for (int i=1; i<=3; i++)
{
Button b = new Button();
b.Name = "button " + i;
b.Content = "20";
b.Click+=new RoutedEventHandler(b_Click);
st.Children.Add(b); //added to stack panel
}
当我点击这些按钮中的任何一个时,我想将 Button 内容每秒减少 1。但我不想停止前一个按钮的计时器,而是如果我点击所有三个按钮,我想在每个按钮上看到的内容每秒减少 1(所以如果我点击一个按钮,它的内容不是全部减少其中)。 问题是,如果我单击一个按钮,然后单击另一个按钮,则上一个按钮会停止,因为只有一个计时器和一个刻度方法,我不知道如何更改它。我想向 b_Tick 方法添加一个每秒递减的计数器并将其设置为发件人的内容。 所以如果我点击第一个按钮的内容每秒都在减少,如果我点击另一个按钮我希望它们的内容每秒都减少,当然第一个按钮的内容会继续,它不会重置。
我希望我清楚
谢谢
【问题讨论】:
-
您的问题确实需要一个更好的标题。它不应包含标签中已有的信息(C# 和 WPF)。它应该解释遇到的问题,或者你想要完成什么。
-
只需让计时器每秒滴答一次。在 Tick 检查每个按钮的内容是否需要更新。对于您存储的每个 Button,它是否应该减少以及最新值是多少。