2012-01-15 14 views
0

私は開いているファイルのウィンドウダイアログを与えるフォームを作成しました。このフォームでは、ファイル内のデータを使用するために、メイン関数に開いたファイル名を渡したいと思います。私はform.csまたはprogram.csウィンドウでコードする必要があるかどうかを知りたい!C#でform.csまたはprogram.csを使用していますか?

+2

その:) – adatapost

+0

アム申し訳ありません...私は初心者ですので、私は私がform.csウィンドウでコーディングしていたかどうかわからなかったか、Program.csのウィンドウ上で何が起こっているのかを推測するのは難しいです基本的には、フォームからファイル名をメイン関数に渡したいと思っています。 – Jagadheshwar

+0

@ user1047753下記の私の答えを参照してください。あなたがノブならば、勉強し始めている間は何でもできます!後でそれを正しく行うことについて心配しています。 – ColinE

答えて

1

これは実際に達成しようとしていることによって異なりますか?これが単純なスローアウェイプログラムであれば、いずれか最も簡単なものを実行します。これがわずか数時間以上の開発を予定しており、正しく構造化したいプログラムの場合、答えはではなくです!

大規模なアプリケーションは、さまざまな懸念をサポートするための方法で構築する必要があります

  • 再利用を - すなわち、コードが異なるコンテキストで使用することができます。
  • テスト可能な - (不潔な静的メソッドを使用しない限り) - フォーム内のコードビハインドは再使用できませんあなたが試してみてください - フォームの背後にあるコードは、ユニットテストで
  • 分離の-懸念を実行することはできません単一の特定の機能を実行するコードをそれ自身のクラスに分けます。これにより、再利用が促進され、テストが可能になります。

Model-View-Presenterまたはその他のMVxパターンについて学習することをおすすめします。

1

なぜあなたはフォームを持っているのですか?OpenFileDialogに選択をMain()メソッドに返すように依頼するのはかなり不明です。私はあなたが単にそのフォームが必要ないと思っています。 Mainメソッドで直接クラスを使用してください。このように:

[STAThread] 
    static void Main() { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     var dlg = new OpenFileDialog(); 
     // Set dlg properties 
     //... 
     if (dlg.ShowDialog() == DialogResult.OK) { 
      // Do something with dlg.FileName 
      //... 
     } 
    } 
関連する問題