-5

Visual Studio では、Windows アプリケーションを作成したり、ボタンをドラッグ アンド ドロップしたりできます。

そして、コードが自動的に生成され、私のMainForm.Designer.csファイルを配置します。

私のソリューション エクスプローラーにはアイコンがあり、MainFormすべての UI コンポーネントを保持しています。

ここに画像の説明を入力

質問は、自分でカスタム コードを作成し、 で作成したボタンとコンポーネントにアクセスする方法drag n dropです。MainFormアイコンの下に独自のファイルを作成できません。

これが横たわるメインの Program.cs:

MainForm form = new MainForm();
Application.Run(form);

フォームにはアクセスできますが、どのコンポーネントにもアクセスできません。そのため、すべてのコンポーネントを非公開から公開にする必要がありましたが、それは正常ですか? そして、それらにアクセスしたいすべての場所で、form変数をパラメーターとして渡す必要があります。

Program.csフォーム変数を取得してから他のクラスに渡すことで、カスタムのものを作成する良い方法はありますか? それでも、自動生成されたものがそのアイコンの下に密接に結合されているのはなぜですがMainForm.cs、そこに自分のコードを追加することはできません。

4

2 に答える 2

2

コード ビハインド ファイルに独自のコードを追加できますが、そのコードは通常、フォーム上のコントロールのユーザー インターフェイス イベントのハンドラーになります。あなたが困っているのは、MainForm がプロジェクトではなくクラスであるという事実だと思います。クラスを含むプロジェクトにクラスを追加し、フォーム クラスのイベント ハンドラーで、アクセスしようとしているクラスのインスタンスを作成し、フォームから呼び出す必要のあるメソッドに関連する値を渡します。こうすることで、フォームの外部からプロパティにアクセスしようとするものがないため、プロパティをプライベートに保つことができます。禁止されているわけではありませんが、フォームのインスタンスをパラメーターとして渡すのは好きではありません。

于 2013-03-22T17:32:35.800 に答える
0

Visual StudioDesignビューでは、Properties使用可能なウィンドウが必要です。そこでは、ビューでコントロールを選択するたびに更新されDesignます。パネルには、Propertiesホバーテキストが書かれた稲妻のアイコンがありますEvents

表示される項目に目を通し、Eventコードを記述したい をダブルクリックすると、その にアクセスするためのコードが生成されたコード ビューが表示されますEvent

しかし、すべきでないことは、 からフォームを実行しようとすることProgram.csです。コードのロジック タイ インはMainForms.csではなくで生成され、Program.csそこからコンテキスト内のすべてのプロパティにアクセスできprivateます。

ここに画像の説明を入力

于 2013-03-22T17:30:59.740 に答える