我在我的C#程序中有一个TextBox
。当程序启动时,我需要焦点放在这个TextBox
上。
我尝试在Form_Load事件中使用以下代码:
MyTextBox.Focus();
但它并不起作用。
当表单加载时,我该如何将焦点放在这里?
最终我找到了问题所在,我在使用Metro框架,你提供的所有解决方案都不适用于Metro文本框,但是这些解决方案对于普通文本框有效,在加载、显示、可见性更改和事件等方面,即使选项卡索引= 0也是有效的。
// private void Form1_VisibleChanged(object sender, EventArgs e)
// private void Form1__Shown(object sender, EventArgs e)
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Select();
this.ActiveControl=textBox1;
textBox1.Focus();
}
您可以使用textBox1.select();
或文本框设置中的TabIndex。当TabIndex=0
时,将首先聚焦。
这对我有用 将tabindex设置为0 this.yourtextbox.TabIndex = 0;
在 jQuery 中设置焦点
$(function() {
$("#txtBox1").focus();
});
或者在Javascript中你可以这样做
window.onload = function() {
document.getElementById("txtBox1").focus();
};
c#
和 winforms
,所以需要针对这些内容进行回答。 - Ben Voigt
TabIndex = 0
,但它没有起作用。后来我发现这是因为前三个文本框被放置在了一个 groupBox 中。所以,在 groupBox 中的那些文本框的 TabIndex 值并没有被对话框考虑,而对话框中可见的第一个控件是位于 groupBox 外部且具有最低 TabIndex 值的启用控件。所以要注意这一点... - Todd Hoatson