【发布时间】:2011-06-03 09:53:17
【问题描述】:
我想知道为什么这段代码无法聚焦文本框...?
private void sendEmail_btn_Click(object sender, EventArgs e)
{
String sendTo = recipientEmail_tbx.Text.Trim();
if (!IsValidEmailAddress(sendTo))
{
MessageBox.Show("Please Enter valid Email address","Cognex" MessageBoxButtons.OK, MessageBoxIcon.Error);
recipientEmail_tbx.Focus();
}
}
【问题讨论】:
-
您发布的代码无法编译——
MessageBox.Show调用的最佳重载匹配有一些无效参数。修复后(我指定了标题),代码将完全按预期工作并将焦点设置到文本框。有什么问题?是否希望已输入的文本显示为选中? -
@Cody: 已编辑...立即查看:)
-
就像我说的那样,即使我通过添加标题字符串(与您所做的完全相同)修复了对
MessageBox.Show的调用,代码仍然可以正常工作。显示消息框后,焦点被设置回文本框。为什么说它“不起作用”?您是否希望在文本框中输入的文本显示为选中/突出显示? -
不不...如果光标停在文本框中就足够了...但它在这里不起作用..即使我尝试过这个。ActiveControl=recipientEmail_tbx...没有运气:(
-
@Sisya:嗯,这似乎是其他问题。可能当您聚焦控件时,表单没有被选中,或者被后台操作阻止?
标签: c# .net winforms textbox focus