[解決済み] ユーザーコントロール、カスタムコントロール、コンポーネントの違いは何ですか?
2023-05-13 04:52:54
質問
プロジェクトに追加できるものは3種類ありますが、違いがよくわかりません。これらはすべて、たとえば、コンポーネント ツールボックスで
Form
. それぞれの一般的な使用シナリオは何ですか?その違いは何ですか?
どのように解決するのですか?
ユーザーコントロール、カスタムコントロール、コンポーネントの主な違いは、継承ツリーの異なる階層から継承していることです。
MyComponent
|-> Component
MyCustomControl
|-> Control
|-> Component
MyUserControl
|-> ContainerControl
|-> ScrollableControl
|-> Control
|-> Component
要するに、異なるオプションで異なる量のプリワイヤード機能を得ることができるわけです。
それぞれのオプションは、どのような場合に使うのでしょうか?(これは考えや意見であり、真実ではありません。)
- を作成します。 コンポーネント を提供したい場合は 機能を提供したい場合 (タイマコンポーネント、データソースなど)
- を作成します。 カスタムコントロール を持つコンポーネントを作りたい場合、完全な で制御できるコンポーネントを作りたい場合 であり、不要な機能を持ちたくない場合です。典型的なケースは、限られた機能しか持たない単純なコントロール(ボタンなど)です。
- を作成します。 ユーザーコントロール にするのであれば 既存のコントロールを組み合わせる を再利用可能なビルディングブロックにする場合(例えば、リスト間で項目を移動できるボタン付きの2つのリストなど)。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] SelectとSelectManyの違い
-
[解決済み] C#で文字を繰り返し表示する最適な方法
-
[解決済み] エラー - IISメタベースにアクセスできません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み] 2つのリストを結合する
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015