消息框导致失去焦点

时间:2009-04-14 18:34:07

标签: c# .net

我创建了一个包含三个控件的工具栏。第一个是文本框,“确定”按钮和“清除”按钮。基本上我使用此工具栏来搜索某些文本。如果没有找到结果,我会弹出一个消息框,通知用户没有找到结果。但是当用户点击消息框的“确定”按钮时,文本框失去焦点,焦点转到下一个控件,即“确定”按钮。我该怎么做才能避免文本框失去焦点。我正在使用c#。

2 个答案:

答案 0 :(得分:2)

你做不到。单击“确定”按钮会强制它进行控制(因此文本框失去控制权)。

但是,您可以在点击事件中执行此操作:

MessageBox.Show("asdf");
textBox1.Focus();

修改

在回复你的评论时,我认为没有一种简单的方法可以在另一个控件获得焦点时将焦点返回到最后一个控件,并且搜索和清除按钮在单击时必须获得焦点。你可以这样做:

private Control _last;

private void textBox1_Leave(object sender, EventArgs e)
{
    _last = (Control) sender;
}

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("asdf");
    _last.Focus();
}

答案 1 :(得分:0)

你的问题不是很清楚,但你可以让你的控制成为这样的焦点:

textBox1.Focus();