5

WindowsFormを使用するC#のUserControlとCustomControlの違いは何ですか?

4

2 に答える 2

7

Windows アプリケーションと Web アプリケーションの両方に、カスタム コントロールとユーザー コントロールがあります。Windows アプリケーション コントロールの拡張子は .cs です。

非常に一般的な意味で、ユーザー コントロールの作成はより簡単です。テキストボックス、ラベルなどの既存のコントロールをフォームにドラッグできます。通常、カスタム コントロールは作成が難しく (時間がかかります)、柔軟性、カスタマイズ性、および統合性が高くなります。

一言で言えば、主な違いは次のとおりです。

ユーザー コントロールは、既存のコントロールで構成されます。この事実から、複合コントロールと呼ばれることもあります。典型的な例はログインフォームです。フォームとすべてのロジックは、この「再利用可能な」ユーザー コントロールに含まれています。

カスタム コントロールは、ユーザーが作成するコントロールです。Windows フォームでは、これは上記の例のように OnPaint メソッドをオーバーライドすることを意味します。カスタム コントロールには、ユーザー コントロールと同じレベルの設計時のサポートがありません (つまり、既存のコントロールのドラッグ アンド ドロップなど)。カスタム コントロールは、通常、Visual Studio のツールボックスに追加できる再利用可能なコンポーネントと考えられているため、通常、ビジネスやコードに固有のものではありません。

いくつかのコード例を含むさまざまなフォームへのリンクを次に示します: http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx

于 2013-03-08T13:32:53.987 に答える
4

多くのコントロールを 1 つのグループにまとめたい場合は、UserControl を使用できます。つまり、コントロールのグループを作成します。これは通常、プロジェクト内の異なる部分のコントロールで同じグループを使用する場合に行われます。

既存のコントロールを拡張する場合は、CustomControl を使用できます。コントロールは、さまざまなプロジェクトから参照できる DLL ファイルにコンパイルされます。

于 2013-03-08T13:33:04.853 に答える