.Net ドメインのプロキシー階層
コントロール用に新規のプロキシーを .Net ドメインに作成する場合、拡張することができる 4 つの主要な基本プロキシーが存在します。
それらは、ObjectProxy、ComponentProxy、ControlProxy、および ControlWithSubobjectsProxy です。
- ObjectProxy
- ObjectProxy プロキシーは .Net ドメイン・プロキシーのための基本プロキシーです。デフォルトで、これは System.Object クラス・オブジェクトにマップされます。これには、GetChildren()、GetMappableChildren()、および GetRecognitionProperties() などの、さまざまな基本クラス・メソッドのデフォルト実装が含まれます。これは非 UI プロキシーです。コントロールが System.Object クラスから派生している場合、コントロール用のプロキシーを ObjectProxy から継承することができます。
- ComponentProxy
- ComponentProxy プロキシーは、System.ComponentModel.Component から派生したオブジェクトを処理するための基本クラスです。
このプロキシーは、GetParent() および GetMappableChildren() などの TestObject メソッドをインプリメントします。
- ControlProxy
- デフォルトで、System.Windows.Forms クラスから派生した .Net コントロールはすべて、ControlProxy プロキシーにマップされます。これは、クリック、ドラッグ、および移動などのマウス・アクションに対して、座標ベースの記録と再生の両方のサポートを提供します。
さらに、プロパティー検査ポイント、スクロール・オブジェクト、およびビュー内のオブジェクト関連ポイントもサポートしています。
- ControlWithSubobjectsProxy
- ControlWithSubobjectsProxy プロキシーは、Form および UserControl などの、コンテナー・コントロールの基本的な機能をインプリメントします。
このプロキシーは、例えば、SubItem セルおよびヘッダーを持つ DataGrid コントロールのように、そのパーツをクリックおよびアドレスできるコントロールもサポートしています。
さらに、ControlWithSubobjectsProxy は、スクロール・バーの SubItem の記録および再生、コントロール内の SubItem のスクロール、およびネストされた ScrollablControl 親の SubItem のスクロールをサポートします。
.Net コントロールのプロキシー階層
以下に、.Net コントロールのプロキシー階層のクラス図を示します。