方法: 内在コントロールのプロパティを公開するHow to: Expose Properties of Constituent Controls

複合コントロールを構成するコントロールは、内在コントロールと呼ばれます。The controls that make up a composite control are called constituent controls. これらのコントロールは通常、プライベートとして宣言されるため、開発者がアクセスすることはできません。These controls are normally declared private, and thus cannot be accessed by the developer. これらのコントロールのプロパティを今後のユーザーが使用できるようにするには、それらをユーザーに公開する必要があります。If you want to make properties of these controls available to future users, you must expose them to the user. 内在コントロールのプロパティは、ユーザーコントロールにプロパティを作成し、そのプロパティのアクセサー getsetアクセサーを使用して、内在コントロールのプライベートプロパティの変更を反映することによって公開されます。A property of a constituent control is exposed by creating a property in the user control, and using the get and set accessors of that property to effect the change in the private property of the constituent control.

という名前MyButtonの構成ボタンを持つ仮想的なユーザーコントロールを考えてみましょう。Consider a hypothetical user control with a constituent button named MyButton. この例では、ユーザーがConstituentButtonBackColorプロパティを要求すると、のBackColor MyButtonプロパティに格納されている値が配信されます。In this example, when the user requests the ConstituentButtonBackColor property, the value stored in the BackColor property of MyButton is delivered. ユーザーがこのプロパティに値を割り当てた場合、 BackColorその値はのMyButton setプロパティに自動的に渡され、コードが実行され、のMyButton色が変更されます。When the user assigns a value to this property, that value is automatically passed to the BackColor property of MyButton and the set code will execute, changing the color of MyButton.

次の例は、構成ボタンのBackColorプロパティを公開する方法を示しています。The following example shows how to expose the BackColor property of the constituent button:

Public Property ButtonColor() as System.Drawing.Color
   Get
      Return MyButton.BackColor
   End Get
   Set(Value as System.Drawing.Color)
      MyButton.BackColor = Value
   End Set
End Property
public Color ButtonColor
{
   get
   {
      return(myButton.BackColor);
   }
   set
   {
      myButton.BackColor = value;
   }
}

内在コントロールのプロパティを公開するにはTo expose a property of a constituent control

  1. ユーザーコントロールのパブリックプロパティを作成します。Create a public property for your user control.

  2. プロパティのgetセクションで、公開するプロパティの値を取得するコードを記述します。In the get section of the property, write code that retrieves the value of the property you want to expose.

  3. プロパティのsetセクションに、プロパティの値を、構成対象のコントロールの公開されたプロパティに渡すコードを記述します。In the set section of the property, write code that passes the value of the property to the exposed property of the constituent control.

関連項目See also