在_onleave事件后将焦点移动到复选框

时间:2017-05-01 23:01:17

标签: c# checkbox

我有一个带有_onleave事件的文本框。 我验证文本框中的文本并生成一个消息框。 在大多数情况下,一旦消息框清除,焦点移动到被点击的内容,而不是当它是一个复选框时。 有没有什么方法可以捕获生成_onleave事件的点击内容,以便我可以在完成_onleave代码后为其指定焦点(或者在这种情况下单击复选框)。 我试过了:

Control control = (Control)sender;
control.Select();

不幸的是,这会捕获初始文本框并将焦点返回给它。 感谢

用一个例子来演示 启动一个新的Windows窗体应用程序。放置两个文本框和一个复选框。使用以下代码运行该应用程序。上面解释了这个问题,并在此样本中进行了演示。

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Size=new Size(223,22);
            textBox1.Text = "Click here first - has leave event";
            textBox2.Size = new Size(111, 22);
            textBox2.Text = "Click here second";
            checkBox1.Text = "Try clicking checkbox";
        }

        private void textBox1_Leave(object sender, EventArgs e)
        {
            MessageBox.Show("If you clicked the textbox, focus should move to it" + Environment.NewLine + "If you clicked the checkbox, checkstate will not change or will it gain focus");
        }
    }
}

0 个答案:

没有答案