目次

フォーカスのあるコントロールを取得する - アクティブなコントロールの取得 - C#

フォーカスのあるコントロールを取得するコードを紹介します。

UI

以下のUIを作成します。

コード

下記のコードを記述します。
フォームのClickイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GetForcusedControl
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void Form1_Click(object sender, EventArgs e)
    {
      textBox2.Text += this.ActiveControl.Name + "\r\n";
    }
  }
}

解説

textBox2.Text += this.ActiveControl.Name + "\r\n";
フォームのActiveControlプロパティを呼び出しフォーム内でフォーカスのあるコントロールを取得します。フォーカスのあるコントロールのNameをテキストボックスに表示します。

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


フォームの背景部分をクリックします。アクティブなコントロールのNameがテキストボックスに表示されます。


テキストボックスをクリックし、テキストボックスを編集状態にします。


この状態で、フォームの背景をクリックするとアクティブなテキストボックスのNameがテキストボックスに表示されます。


コンボボックスにフォーカスを合わせ、フォームの背景をクリックした場合は下図となります。


著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2012-06-07
iPentec all rights reserverd.