IContainerControl インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コントロールが他のコントロールの親として動作するための機能を提供します。
public interface class IContainerControl
public interface IContainerControl
type IContainerControl = interface
Public Interface IContainerControl
- 派生
例
次の例では、クラスを ScrollableControl 継承し、インターフェイスを IContainerControl 実装します。 実装がプロパティとメソッドにActiveControlActivateControl追加されます。
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;
public ref class MyContainer: public ScrollableControl, public IContainerControl
{
private:
Control^ activeControl;
public:
MyContainer()
{
// Make the container control Blue so it can be distinguished on the form.
this->BackColor = Color::Blue;
// Make the container scrollable.
this->AutoScroll = true;
}
property Control^ ActiveControl
{
// Add implementation to the IContainerControl.ActiveControl property.
virtual Control^ get()
{
return activeControl;
}
virtual void set( Control^ value )
{
// Make sure the control is a member of the ControlCollection.
if ( this->Controls->Contains( value ) )
{
activeControl = value;
}
}
}
// Add implementations to the IContainerControl.ActivateControl(Control) method.
virtual bool ActivateControl( Control^ active )
{
if ( this->Controls->Contains( active ) )
{
// Select the control and scroll the control into view if needed.
active->Select( );
this->ScrollControlIntoView( active );
this->activeControl = active;
return true;
}
return false;
}
};
using System;
using System.Windows.Forms;
using System.Drawing;
public class MyContainer : ScrollableControl, IContainerControl
{
private Control activeControl;
public MyContainer()
{
// Make the container control Blue so it can be distinguished on the form.
this.BackColor = Color.Blue;
// Make the container scrollable.
this.AutoScroll = true;
}
// Add implementation to the IContainerControl.ActiveControl property.
public Control ActiveControl
{
get
{
return activeControl;
}
set
{
// Make sure the control is a member of the ControlCollection.
if(this.Controls.Contains(value))
{
activeControl = value;
}
}
}
// Add implementations to the IContainerControl.ActivateControl(Control) method.
public bool ActivateControl(Control active)
{
if(this.Controls.Contains(active))
{
// Select the control and scroll the control into view if needed.
active.Select();
this.ScrollControlIntoView(active);
this.activeControl = active;
return true;
}
return false;
}
}
Imports System.Windows.Forms
Imports System.Drawing
Public Class MyContainerControl
Inherits ScrollableControl
Implements IContainerControl
Private myActiveControl As Control
Public Sub New()
' Make the container control Blue so it can be distinguished on the form.
Me.BackColor = Color.Blue
' Make the container scrollable.
Me.AutoScroll = True
End Sub
' Add implementation to the IContainerControl.ActiveControl property.
Public Property ActiveControl() As Control Implements IContainerControl.ActiveControl
Get
Return Me.myActiveControl
End Get
Set
' Make sure the control is a member of the ControlCollection.
If Me.Controls.Contains(value) Then
Me.myActiveControl = value
End If
End Set
End Property
' Add implementation to the IContainerControl.ActivateControl(Control) method.
public Function ActivateControl(active As Control) As Boolean Implements IContainerControl.ActivateControl
If Me.Controls.Contains(active) Then
' Select the control and scroll the control into view if needed.
active.Select()
Me.ScrollControlIntoView(active)
Me.myActiveControl = active
Return True
End If
Return False
End Function
End Class
注意 (実装者)
コントロールのコレクションを親にするクラスにこのインターフェイスを実装します。 このインターフェイスのメンバーを使用すると、子コントロールをアクティブにしたり、現在アクティブになっているコントロールを決定したりできます。 クラスに実装されている場合は、 ActivateControl(Control) パラメーターとして a を Control 受け取り、指定したコントロールをアクティブにします。 このプロパティは ActiveControl 、アクティブなコントロールをアクティブ化または取得します。
ほとんどの一般的なシナリオでは、このインターフェイスを直接実装する必要はありません。 たとえば、Windows コントロール ライブラリ プロジェクトを作成した場合、Visual Studioは初期クラスを生成します。 そのクラスはクラスから UserControl 継承され UserControl 、自動的に実装されます IContainerControl 。
プロパティ
ActiveControl |
コンテナー コントロールでアクティブなコントロールを取得または設定します。 |
メソッド
ActivateControl(Control) |
指定したコントロールをアクティブにします。 |