无法从'system.windows.forms.messagebox'转换为'string'

时间:2017-03-26 10:23:03

标签: c#

我有以下代码:

public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        string code = "111-222-73";
        if (Namebox.Text == "" || Codebox.Text == "")

            MessageBox.Show("Please fill a valid login!", MessageBoxIcon.Exclamation);
        else if (Codebox.Text == code)

            MessageBox.Show("Login succesfull!");
        else MessageBox.Show("Wrong code!");


    }

当我使用messageboxIcon时会抛出一个错误但如果我不使用它,则消息框将起作用。这也适用于其他消息框。有人可以告诉我为什么以及如何解决这个问题。

刚刚从vb.net切换到C#

1 个答案:

答案 0 :(得分:1)

您未使用包含MessageBoxIcon参数的正确overload

MessageBox.Show("Please fill a valid login!", "", 
                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

.NET框架中没有内置方法可以满足您的需求,但您可以创建一个帮助方法来执行此操作:

public static class MessageBoxHelper
{
    const string _defaultCaption = "Message";
    const MessageBoxButtons _defaultButtons = MessageBoxButtons.OK;

    public static void Show(string message, MessageBoxIcon icon)
    {
        MessageBox.Show(message, _defaultCaption, _defaultButtons, icon);
    }
}