ContainerControl.ActiveControl 属性   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置容器控件上的活动控件。
public:
 property System::Windows::Forms::Control ^ ActiveControl { System::Windows::Forms::Control ^ get(); void set(System::Windows::Forms::Control ^ value); };
	[System.ComponentModel.Browsable(false)]
public System.Windows.Forms.Control ActiveControl { get; set; }
	[<System.ComponentModel.Browsable(false)>]
member this.ActiveControl : System.Windows.Forms.Control with get, set
	Public Property ActiveControl As Control
	属性值
ContainerControl 的当前活动 Control。
实现
- 属性
 
例外
分配的 Control 未能激活。
示例
下面的代码示例继承自 ScrollableControl 类并实现 IContainerControl 接口。 实现将添加到 ActiveControl 属性和 ActivateControl 方法。
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
	注解
该 ActiveControl 属性激活或检索容器控件上的活动控件。
为了从此属性接收有效值,调用它的对象必须包含或包含在它所调用的控件中。 如果一个窗体尝试调用另一个窗体 ActiveControl 的属性,它将接收未定义的值。 在这种情况下,需要在表单之间定义自己的通信机制才能传递此数据。