您的位置:首页 > 其它

listBox点击(click)后回到的上一个物件的焦点(focus),并隐藏listbox

2012-11-02 09:30 197 查看
listBox点击(click)后回到的上一个物件的焦点(focus),并隐藏listbox

方法一:

Control _lastEnteredControl;

public Form1()

{

    InitializeComponent();

    foreach (Control ctrl in Controls)

    //foreach (Control ctrl in panel1.Controls)//如果是在panel1下的textBox,则使用此句

    {

        if (ctrl is TextBox)

        {

            ctrl.Enter += delegate(object sender, EventArgs e)

                {

                    _lastEnteredControl = (Control) sender;//获得焦点

                    listBox1.Visible = false;//隐藏

                };

            ctrl.Click += delegate(object sender, EventArgs e)

                {

                    _lastEnteredControl = (Control) sender;//获得焦点

                    listBox1.Visible = false;//隐藏

                };

        }

    }

}

private void listBox1_Click(object sender, EventArgs e)//写其它代码,见下面内容

{

    _lastEnteredControl.Focus();

}

方法二:

Control _lastEnteredControl;

private void textBox1_Enter(object sender, EventArgs e) //注意是Enter

{

    _lastEnteredControl = (Control)sender;//获得焦点

    listBox1.Visible = false;//隐藏

}

private void textBox2_Click(object sender, EventArgs e)

{

    _lastEnteredControl.Focus();//获得焦点

    listBox1.Visible = false;//隐藏

}

private void listBox1_Click(object sender, EventArgs e)//写其它代码,见下面内容

{

    _lastEnteredControl.Focus();//获得焦点

}

也可以接下来进行相关的判断,写其它代码

private void listBox1_Click(object sender, EventArgs e)

{

    _lastEnteredControl.Focus();

    if (_lastEnteredControl == textBox1)

    {

        MclickList twoclicklist = new TwoMclk(listBox1, textBox2, label4);

        listBox1.Visible = false;

    }

    if (_lastEnteredControl == textBox2)

    {

        MclickList threeclicklist = new ThreeMclk(listBox1, textBox6, label13, label15);

        listBox1.Visible = false;

    }

    

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐