Milkのメモ帳

日々の思いつきを忘れないようにのメモ用です。

Milkのメモ帳

【Visual Studio】ユーザーコントロールの使い方と実装(コーディング)について【C#】


こんにちは。Milkです。
今回は、Windowsの画面の話。

WindowsFormsで用意されている、沢山のコンポーネント(部品)がありますよね。

でも、幾つかの画面では同じUIだし、ぽちぽちコンポーネントを置き直すのは面倒くさい。

しかも、処理も一緒だし・・・

そんな時は、「ユーザーコントロール」を使いましょう。

簡単に言ってしまえば、コンポーネントを組み立てて、大きな一つのコンポーネントとして扱ってしまおう!ということです。

ユーザーコントロール

では、ユーザーコントロールの作り方から見ていきましょう。

先ずは普通通りにコンポーネントを置いてみます。

ここまではいつも通りです。

では、右側の空いた部分に、「ユーザーコントロール」を設置してみようと思います。

ユーザーコントロールの追加

プロジェクトに対して、「追加」を行います。

選択するのは、「ユーザーコントロール」です。

すると、ソリューションファイルの一覧に「UserControl1」が出来ているのが分かります。

また、小さい四角が出てきます。

これを広げて、好きなコンポーネントを置いていくのです。

さぁ。これで終わり!

ユーザーコントロールを利用する

では、もとの最初の画面に、今作成した「ユーザーコントロール」を追加してみましょう。

分かりますか? 左に「コンポーネント」の扱いで表示されているのが。

そうです。既に「ボタン」と同じような「コンポーネント」として扱える状態になっているのです!


後は、これを選択して、貼り付けるだけです!

処理の実装

さて、各コンポーネントに対して処理の実装を行いたいわけですが、少しここは注意が必要です。

左に直接置いた「ボタン」の処理を書く場所はどこになるか?と言うと。

そう。「Form1.cs」なので、画面のコードに直接書くことになります。

では、ユーザーコントロールのボタンの処理は?

これは共通化したコンポーネントとして扱うので、「UserControl1.cs」のユーザーコントロールのコードに書くことになります。

誤って、画面(Form)の方でユーザーコントロールをダブルクリックすると、ユーザーコントロールの「Loadイベント」のコードが生成されます。

そこは勘違いしないようにしましょうね!


最後に

画面のある特定の部分を共通化するには、とっても嬉しい機能ですね。

これを使ってトリッキーなこともできますけど・・・

あまり込み入ったことすると、バグの温床になるというか・・・

ソース解析が面倒くさいことになるというか・・・

つまり、

やってらんねー!!ってなります。

なので、ギークな方向に走るのも程々にね。

メンテンナンスめっちゃ大変だから!!マジで!!

それでは、今回はこの辺で。

adios!!