次のフォームを作成し、3つのボタンを(ランダムに)クリックします。ボタンをクリックした後、ボタンをクリックしてから3秒後に関連メッセージが表示される必要があります。ただし、その間に別のボタンをクリックした場合は、そのボタンに関連するメッセージを表示し、キュー内の前のメッセージをキャンセルする必要があります。
例として、11.30.00でクリックbutton1
すると、関連するメッセージが11.30.03でのみポップアップするはずです。たとえば、「クリックしました:3秒前に1」のようになります。しかしbutton2
、11.30.03の前に別のメッセージをクリックすると、たとえば11.30.02に、「クリックしました:3秒前に2」のように、関連するメッセージが11.30.05にポップアップ表示され、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");
}