C# 中的消息框按钮访问
Messagebox Buttons access in C#
我在我的代码中使用了计时器,假设当计时器停在 0 时,消息框提示我您超时并显示两个按钮 "RETRY" 和 "CANCEL"。指导我使用功能,即当我按下消息框上的 "CANCEL" 按钮时,它会退出整个 windows 表单。
下面是 timer_tick 事件的 if 条件:
int duration = 10;
private void timer1_Tick(object sender, EventArgs e)
{
//shows message that time is up!
duration--;
timer_label1.Text = duration.ToString();
if (duration == 0)
{
timer1.Stop();
MessageBox.Show("You Timed Out", "Oops", MessageBoxButtons.RetryCancel, MessageBoxIcon.Stop);
}
}
private void start_game_button19_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Start();
}
enter image description here
要使用 MessageBox
并根据单击的按钮采取不同的操作,必须将 Show
调用的结果分配给一个变量。 Show
returns 一个 DialogResult
值,您可以使用它来确定单击了哪个按钮。
var retryOrCancel = MessageBox.Show(
text: "You Timed Out",
caption: "Oops",
buttons: MessageBoxButtons.RetryCancel,
icon: MessageBoxIcon.Stop
);
switch (retryOrCancel)
{
case DialogResult.Cancel:
this.Close();
break;
case DialogResult.Retry:
StartGame();
break;
}
private void start_game_button19_Click(object sender, EventArgs e)
{
StartGame();
}
private void StartGame()
{
timer1.Enabled = true;
timer1.Start();
}
您可以在下面的代码中执行类似的操作:
var result = MessageBox.Show(
"You Timed Out",
"Oops",
MessageBoxButtons.RetryCancel,
MessageBoxIcon.Stop);
if (result == DialogResult.Cancel) {
this.Close();
}
我在我的代码中使用了计时器,假设当计时器停在 0 时,消息框提示我您超时并显示两个按钮 "RETRY" 和 "CANCEL"。指导我使用功能,即当我按下消息框上的 "CANCEL" 按钮时,它会退出整个 windows 表单。 下面是 timer_tick 事件的 if 条件:
int duration = 10;
private void timer1_Tick(object sender, EventArgs e)
{
//shows message that time is up!
duration--;
timer_label1.Text = duration.ToString();
if (duration == 0)
{
timer1.Stop();
MessageBox.Show("You Timed Out", "Oops", MessageBoxButtons.RetryCancel, MessageBoxIcon.Stop);
}
}
private void start_game_button19_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Start();
}
enter image description here
要使用 MessageBox
并根据单击的按钮采取不同的操作,必须将 Show
调用的结果分配给一个变量。 Show
returns 一个 DialogResult
值,您可以使用它来确定单击了哪个按钮。
var retryOrCancel = MessageBox.Show(
text: "You Timed Out",
caption: "Oops",
buttons: MessageBoxButtons.RetryCancel,
icon: MessageBoxIcon.Stop
);
switch (retryOrCancel)
{
case DialogResult.Cancel:
this.Close();
break;
case DialogResult.Retry:
StartGame();
break;
}
private void start_game_button19_Click(object sender, EventArgs e)
{
StartGame();
}
private void StartGame()
{
timer1.Enabled = true;
timer1.Start();
}
您可以在下面的代码中执行类似的操作:
var result = MessageBox.Show(
"You Timed Out",
"Oops",
MessageBoxButtons.RetryCancel,
MessageBoxIcon.Stop);
if (result == DialogResult.Cancel) {
this.Close();
}