簡體   English   中英

如何以編程方式單擊 MessageBox 上的按鈕

[英]How can I programmatically click a button on a MessageBox

我檢查時有一個單選按鈕,它應該給出一條消息

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 
}

如何從按鈕中的內部代碼回答此消息是否?

我不希望出現消息

如果您真的不想要它,那么只需在該單選按鈕的檢查更改時執行您的操作。

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
   {
}

當您單擊單選按鈕時,您將發送適當的委托函數(操作)和消息框結果。 該操作處理是/否的情況。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM