IContainerControl Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje funkce, které ovládací prvek funguje jako nadřazený prvek pro jiné ovládací prvky.
public interface class IContainerControl
public interface IContainerControl
type IContainerControl = interface
Public Interface IContainerControl
- Odvozené
Příklady
Následující příklad dědí z ScrollableControl třídy a implementuje IContainerControl rozhraní. Implementace se přidá do ActiveControl vlastnosti a ActivateControl metody.
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
Poznámky pro implementátory
Implementujte toto rozhraní ve třídách, které chcete nadřazené kolekci ovládacích prvků. Členové tohoto rozhraní umožňují aktivovat podřízený ovládací prvek nebo určit, který ovládací prvek je aktuálně aktivní. Při implementaci ve třídě ActivateControl(Control) přebírá Control jako parametr a aktivuje zadaný ovládací prvek. Vlastnost ActiveControl aktivuje nebo načte ovládací prvek, který je aktivní.
Ve většině běžných scénářů nemusíte toto rozhraní implementovat přímo. Pokud například vytvoříte projekt knihovny ovládacích prvků Windows, Visual Studio za vás vygeneruje počáteční třídu. Tato třída dědí z UserControl třídy a UserControl implementuje IContainerControl za vás.
Vlastnosti
ActiveControl |
Získá nebo nastaví ovládací prvek, který je aktivní v ovládacím prvku kontejneru. |
Metody
ActivateControl(Control) |
Aktivuje zadaný ovládací prvek. |