私は開いているファイルのウィンドウダイアログを与えるフォームを作成しました。このフォームでは、ファイル内のデータを使用するために、メイン関数に開いたファイル名を渡したいと思います。私はform.csまたはprogram.csウィンドウでコードする必要があるかどうかを知りたい!C#でform.csまたはprogram.csを使用していますか?
0
A
答えて
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
//...
}
}
関連する問題
- 1. form.csファイルからprogram.csファイルに変数を呼び出す方法
- 2. C#用のProgram.csに共通のルーチンを入れます
- 3. CまたはC++を使用してAPKを作成できますか?
- 4. C++ 11ではatomic_compare_exchange_strongまたはatomic_exchangeを使用しますか?
- 5. コンパクト・フレームワーク:最小化と私はProgram.csの中で、次を使用してアプリケーションを書いた
- 6. C++は渡された関数を使用しています
- 7. インスタンスまたはクラスメソッドでTime.zone.now.to_dateを使用していますか?
- 8. Hibernateでプリミティブまたはラッパークラスを使用していますか?
- 9. SSISでjavascriptまたはpythonを使用していますか?
- 10. C++またはC#でポートと通信していますか?
- 11. C++でグラフィックスのないpanda3dを使用していますか?
- 12. C++でexit()を正しく使用していますか?
- 13. GeckoFxでMutationObserverをC#で使用していますか?
- 14. C#PrintWindowを使用しています
- 15. c#メソッドを使用してステートメントを使用できますか?
- 16. ライブラリ(C#またはPHP)を使用してさまざまなフィード形式を使用しますか?
- 17. C++を使用してfastcgiを実装していますか?
- 18. シーザー暗号はchar *を使用していますか? C++
- 19. Cはパラメータを過度に使用していますか?
- 20. C++ブーストプリムのアルゴリズムはカスタムウェイトを使用していますか?
- 21. 私はどのバージョンのC++を使用していますか?
- 22. 私はどのバージョンのC#を使用していますか?
- 23. C++:auto、またはtypedefを使用しますか?
- 24. アンドロイドまたはjavaのC#monoを使用しますか?
- 25. 共有メモリをPHPとCで使用していますか?
- 26. Segfault 11でベクトルとfstreamを使用していますか? C++
- 27. 本当にC#で 'using'ブロックを使用していますか?
- 28. Objective-Cでenumを使用していますか?
- 29. Cのループでstrtok()を使用していますか?
- 30. DeflateStreamをC++で使用していますか?
その:) – adatapost
アム申し訳ありません...私は初心者ですので、私は私がform.csウィンドウでコーディングしていたかどうかわからなかったか、Program.csのウィンドウ上で何が起こっているのかを推測するのは難しいです基本的には、フォームからファイル名をメイン関数に渡したいと思っています。 – Jagadheshwar
@ user1047753下記の私の答えを参照してください。あなたがノブならば、勉強し始めている間は何でもできます!後でそれを正しく行うことについて心配しています。 – ColinE