2011-11-02 7 views
2

私はコードに慣れていないし、ほとんどのものは動作しますが、このコードを実行することはできません。助けてもらえますか?MessageBox.Show()の問題

私は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(); 

     } 
    } 
} 
+0

@Jamiec:ごめんなさい。コメントを削除しました。多くのことを学ぶことがあります:) – shahkalpesh

+0

これは実際にはMSDNのドキュメントで5分で解決されている可能性があります。 –

答えて

5

そのような名前空間System.Formsはありませんが、あなたは(MessageBox)を使用しようとしていたクラスがSystem.Windows.Formsです。 usingステートメントを修正することにより、エラーが解決しました。

このクラスを使用するには、コンソールアプリでSystem.Windows.Forms.dllへの参照が必要です。

+0

+1私を修正します。私は私のコメントを削除しました。 – shahkalpesh

2

あなたはコンソールアプリケーションでそれを試してみてください。最初にSystem.Windows.Forms dllを参考文献(.Net参照タブから)に追加してから、その名前空間を追加して使用してください。

1

私はここで少し混乱しています。 System.Formsという名前空間はありません。それは常にSystem.Windows.Formsです。メッセージボックスクラスはSystem.Windows.Forms

で定義されていますSystem.Windows.Formsのプロジェクトへの参照は、Windowsアプリケーションではなくコンソールアプリケーション上に手動で追加する必要があります。参照を追加するだけです。

3

プロジェクトでSystem.Windows.Forms.dllを参照する必要があります。 Hereはそれを行う方法の詳細な説明です。

3

System.Formsとしてはそのような名前空間がウィッヒは、あなたが話しているMessageBoxクラスを持って、そこのSystem.Windows.Formsと呼ばれる唯一の名前空間が存在しているではありません。それを使用できるようにするには、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]); 
        } 
       } 
      } 
     } 
    } 
} 
関連する問題