WindowsFormを使用するC#のUserControlとCustomControlの違いは何ですか?
2 に答える
Windows アプリケーションと Web アプリケーションの両方に、カスタム コントロールとユーザー コントロールがあります。Windows アプリケーション コントロールの拡張子は .cs です。
非常に一般的な意味で、ユーザー コントロールの作成はより簡単です。テキストボックス、ラベルなどの既存のコントロールをフォームにドラッグできます。通常、カスタム コントロールは作成が難しく (時間がかかります)、柔軟性、カスタマイズ性、および統合性が高くなります。
一言で言えば、主な違いは次のとおりです。
ユーザー コントロールは、既存のコントロールで構成されます。この事実から、複合コントロールと呼ばれることもあります。典型的な例はログインフォームです。フォームとすべてのロジックは、この「再利用可能な」ユーザー コントロールに含まれています。
カスタム コントロールは、ユーザーが作成するコントロールです。Windows フォームでは、これは上記の例のように OnPaint メソッドをオーバーライドすることを意味します。カスタム コントロールには、ユーザー コントロールと同じレベルの設計時のサポートがありません (つまり、既存のコントロールのドラッグ アンド ドロップなど)。カスタム コントロールは、通常、Visual Studio のツールボックスに追加できる再利用可能なコンポーネントと考えられているため、通常、ビジネスやコードに固有のものではありません。
いくつかのコード例を含むさまざまなフォームへのリンクを次に示します: http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx
多くのコントロールを 1 つのグループにまとめたい場合は、UserControl を使用できます。つまり、コントロールのグループを作成します。これは通常、プロジェクト内の異なる部分のコントロールで同じグループを使用する場合に行われます。
既存のコントロールを拡張する場合は、CustomControl を使用できます。コントロールは、さまざまなプロジェクトから参照できる DLL ファイルにコンパイルされます。