如何在类库c#中使用Messagebox?

时间:2013-04-06 08:44:20

标签: c# .net messagebox

如何在类库中使用MessageBox?

这是我的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace MessageBoxes
{
    class ShowInfo
    {
        MessageBox.Show("test");
    }
}

我可以加载MessageBox但不能有show属性,MessageBox.Show(“test”); < - 失败

4 个答案:

答案 0 :(得分:10)

您应类库中使用 Windows窗体MessageBox 。如果在ASP.NET应用程序中使用此库,该怎么办? MessageBox将显示在Webserver中。并且您的网络服务器将等待(挂起),直到某人在网络服务器中响应该MessageBox。

一个理想的设计是你要么以字符串形式返回消息,并以调用者特定的方式处理该字符串,要么抛出异常,如果那就是你想要的。

如果你仍然想要,那么这里是你的代码更正

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace MessageBoxes
{
    class ShowInfo
    {
        public void ShowMessage(string msg)
        {
            MessageBox.Show(msg);
        }
    }
}

答案 1 :(得分:1)

您可以在任何方法之外调用messagebox 此代码根本无法编译。

你应该写

namespace MessageBoxes
{
    class ShowInfo
    {
        public void ShowUserMessage(string messageText)
        {
             MessageBox.Show(messageText);
        }
    }
}

然后在实例化ShowInfo类型的对象

之后调用它
ShowInfo info = new ShowInfo();
info.ShowUserMessage("This is a Test");

答案 2 :(得分:0)

确保您实际使用主窗体中的类。

class ShowInfo
{
    public static void show()
    {
        System.Windows.Forms.MessageBox.Show("test");
    }
}

...

    public Form1()
    {
        InitializeComponent();
        ShowInfo.show();
    }

答案 3 :(得分:0)

此问题的其他答案:

创建类库项目之后。

右键单击您的项目Add> New Item> Windows form

通过添加引用System.Windows.Forms.dll

完成