我创建以下表单,然后单击3个按钮(随机).单击按钮后,必须在单击3秒后显示相关消息.但是,如果我同时点击了另一个按钮,则必须显示该按钮的相关消息,并且必须取消队列中的上一条消息.
例如,如果我button1在11.30.00 点击,则相关消息应仅在11.30.03弹出,如"你点击:1秒前1秒".但是如果我button2在11.30.03之前点击另一个,比如说在11.30.02那么相关的消息应该在11.30.05弹出,比如"你点击:3秒之前的2",并且必须取消预定于11.30.03的消息.
这是我的代码:
private int signal = 0;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
signal = 1;
displayMessage(signal);
}
private void button2_Click(object sender, EventArgs e)
{
signal = 2;
displayMessage(signal);
}
private void button3_Click(object sender, EventArgs e)
{
signal = 3;
displayMessage(signal);
}
private void displayMessage(int number)
{
MessageBox.Show("You clicked : "+number+ "before 3 Seconds");
}
Run Code Online (Sandbox Code Playgroud)
设置按钮Tag:
button1.Tag = 1;
button2.Tag = 2;
button3.Tag = 3;
Run Code Online (Sandbox Code Playgroud)
然后设置Click事件:
button1.Click += button_Click;
button2.Click += button_Click;
button3.Click += button_Click;
Run Code Online (Sandbox Code Playgroud)
在Click活动上:
private void button_Click(object sender, EventArgs e)
{
signal = (int) ((Button))sender.Tag;
displayMessage(signal);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
304 次 |
| 最近记录: |