[英]How can I programmatically click a button on a MessageBox
I have a radiobutton when i check it, it should give a message我检查时有一个单选按钮,它应该给出一条消息
DialogResult click = MessageBox.Show("Would you like to convert the actual values to US Customary ?\n Clicking No changes just the unit system.", "Change Unit Systems to US Customary", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (click == DialogResult.Yes)
{
//some code
}
how can I answer this message from internal code in a button to be NO?如何从按钮中的内部代码回答此消息是否?
I don't want the message to appear我不希望出现消息
If you seriously don't want it then just perform your action when the check changes for that radio button.如果您真的不想要它,那么只需在该单选按钮的检查更改时执行您的操作。
private void radioButton1_CheckedChanged(Object sender, EventArgs e)
{
//Validate to make sore it was not just deselected
if (radioButton1.Checked)
{
//Do whatever I want when the use checks this radio button
{
}
When you click on radio button you send the appropiate delegate function(action) and Messagebox result.当您单击单选按钮时,您将发送适当的委托函数(操作)和消息框结果。 The action handles yes/no cases.该操作处理是/否的情况。
public void HandleMessageBoxResult(DialogResult result, Action<DialogResult> action)
{
action(result);
}
public void Radio1Action(DialogResult result)
{
switch (result)
{
case DialogResult.Yes:
MessageBox.Show("Yes Clicked for Radio1");
break;
case DialogResult.No:
MessageBox.Show("No Clicked for Radio1");
break;
}
}
public void Radio2Action(DialogResult result)
{
switch (result)
{
case DialogResult.Yes:
MessageBox.Show("Yes Clicked for radioButton2");
break;
case DialogResult.No:
MessageBox.Show("No Clicked for radioButton2");
break;
}
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
if(radioButton1.Checked)
{
DialogResult result = MessageBox.Show("Message for radioButton1", "title", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
HandleMessageBoxResult(result, Radio1Action);
}
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
if (radioButton2.Checked)
{
DialogResult result = MessageBox.Show("Message for radioButton2", "title", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
HandleMessageBoxResult(result, Radio2Action);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.