次の方法で共有


ContainerControl.ActiveControl プロパティ

コンテナ コントロール上のアクティブ コントロールを取得または設定します。

Public Overridable Property ActiveControl As Control  Implements _   IContainerControl.ActiveControl
[C#]
public virtual Control ActiveControl {get; set;}
[C++]
public: __property virtual Control* get_ActiveControl();public: __property virtual void set_ActiveControl(Control*);
[JScript]
public function get ActiveControl() : Control;public function set ActiveControl(Control);

プロパティ値

ContainerControl で現在アクティブな Control

実装

IContainerControl.ActiveControl

例外

例外の種類 条件
ArgumentException 割り当てられた Control をアクティブにできませんでした。

解説

このプロパティは、コンテナ コントロール上のコントロールをアクティブにするか、コンテナ コントロール上のアクティブ コントロールを取得します。

使用例

[Visual Basic, C#, C++] ScrollableControl クラスから継承し、 IContainerControl インターフェイスを実装する例を次に示します。実装は、 ActiveControl プロパティおよび ActivateControl メソッドに追加されます。

 
Imports System
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  

[C#] 
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;
        }
    }

[C++] 

using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;

    public __gc 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;
        }

        // Add implementation to the IContainerControl.ActiveControl property.
        __property Control* get_ActiveControl() {
            return activeControl;    
        }

        __property void set_ActiveControl(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.
        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;
        }
    };

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

ContainerControl クラス | ContainerControl メンバ | System.Windows.Forms 名前空間 | ScrollableControl | Control