MessageBox.Show()的问题

时间:2011-11-02 08:05:31

标签: c# .net winforms messagebox

我是新手代码,大部分工作都有效,但我无法运行此代码。有人可以帮忙吗?

我尝试了using System.Forms,但它显示缺少命名空间。当我使用using System.Windows.Forms时,该消息消失了。它不允许我同时使用它们。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamReader sr = new StreamReader(@"file.csv");
            // for set encoding
            // StreamReader sr = new StreamReader(@"file.csv", Encoding.GetEncoding(1250));

            string strline = "";
            String[] _values = null;
            int x = 0;
            while(!sr.EndOfStream)
            {
                strline = sr.ReadLine();
                _values = strline.Split(',');
                if (_values.Length >= 6 && _values[0].Trim().Length > 0)
                {
                    MessageBox.show(_values[1]);
                }
            }
            sr.Close();

        }
    }
}

5 个答案:

答案 0 :(得分:5)

没有此类名称空间System.Forms,您尝试使用的类(MessageBox)位于System.Windows.Forms。通过更正using语句,错误就消失了。

请记住,您必须在控制台应用中引用System.Windows.Forms.dll才能使用此类。

答案 1 :(得分:5)

您需要在项目中引用System.Windows.Forms.dllHere是如何做到的详细说明。

答案 2 :(得分:3)

没有 System.Forms 这样的命名空间只有一个名为 System.Windows.Forms 的命名空间,你正在谈论MessageBox类关于。为了能够使用它,您需要将 System.Windows.Forms.dll 的引用添加到您的项目中(在“添加引用...”的.NET选项卡中找到它)对话框)它会工作。另请注意,MessageBox.Show()需要大写'S'。请参阅下面的代码的优化和完整工作版本。

using System.IO;
using System.Windows.Forms;

namespace ConsoleApplication7
{
    class Program
    {
        static void Main(string[] args)
        {
            using (StreamReader sr = new StreamReader(@"file.csv"))
            {
                while (sr.Peek() >= 0)
                {
                    string strline = sr.ReadLine();
                    string[] values = strline.Split(',');
                    if (values.Length >= 6 && values[0].Trim().Length > 0)
                    {
                        MessageBox.Show(values[1]);
                    }
                }
            }
        }
    }
}

答案 3 :(得分:2)

您首先尝试在控制台应用程序中使用它,您应该在引用中添加System.Windows.Forms dll(来自.Net参考选项卡),然后通过添加它的命名空间来使用它。

答案 4 :(得分:1)

我在这里有点困惑。没有名为System.Forms的名称空间。它总是System.Windows.Forms。 MessageBox类在System.Windows.Forms

中定义

您需要手动添加对System.Windows.Forms项目的引用,因为您在控制台应用程序而不是Windows应用程序上。只需添加引用。