Visual C# 2005在窗体加载时某控件取得焦点

2010-08-28 10:50:09来源:西部e网作者:

在此我们将说明如何在窗体加载时,让某一个控件取得焦点(Focus)——即使该控件成为作用控件。我们将示范如何使用下列3种方式来完成此项操作。
  • 窗体的ActiveControl属性能够用来取得或设定窗体上的作用控件。因此,您只需将窗体的ActiveControl属性设定成窗体上的某一个控件,该控件就会成为活动控件。如图8.1所示是程图8.1使Text属性为空字符串的TextBox控件成为作用控件序范例CH8_DemoForm001.cs的运行画面,它会在窗体加载后,将Text属性为空字符串的TextBox控件设定成活动控件(也就是取得焦点)。程序代码列示如下:

    \

    图8.1使Text属性为空字符串的TextBox控件

    privatevoid CH4_DemoForm054_Load(object sender, EventArgs e)

    {

    int nCount =this.Controls.Count;



    for (int i =0; i <= nCount -1; i++)

    {

    if (this.Controls[i] is System.Windows.Forms.TextBox)

    {

    // 找出 Text 属性为空字符串的 TextBox 控件。if (this.Controls[i].Text =="")

    {

    // 使没有任何文字的 TextBox

    // 控件成为作用控件。this.ActiveControl =this.Controls[i];



    // 跳离 For 循环。break;

    }

    }

    }

    }


    • 调用控件的Select方法即可启动该控件并使其取得焦点。程序范例CH8_DemoForm002.cs的功能与上一个程序范例CH8_DemoForm001cs完全相同,只不过它如下所示,改用Select方法来使控件取得焦点:

      this.Controls[i].Select();

      • 调用控件的Focus方法即可使该控件取得焦点。不过由于我们是在窗体加载时要使控件取得焦点,因此您必须先将窗体的Visible属性设定成True。程序范例CH7_DemoForm003.cs的功能与前面两个程序范例完全相同,只不过它如下所示,改用Focus方法来使控件取得焦点:

        \this.Visible =true;
        \...
        \
        \
        this.Controls[i].Focus();
        \
        \...
        关键词:VS.NET