当它只是可编辑的控件时,从文本框中删除焦点

时间:2014-02-20 22:36:49

标签: c# webforms

我有一个文本框(textBox1),当用户点击当前页面时我需要没有焦点。问题是我无法专注于另一个控制器because the textbox is the only control that allows input.

我有一些隐藏字段,但专注于它们不会从文本框中移除焦点(hidden1.Focus())。

我看到某处你可以禁用并启用控制器,但这也无效。

想法?

修改

以下是我的控件:

<asp:TextBox ID="TextBox1" runat="server" autocomplete="off"></asp:TextBox>
<asp:Label ID="lblHide" runat="server"></asp:Label>
<input type="hidden" id="hidden1" runat="server" value="false"/>

 //C# code
 protected void Page_Load(object sender, System.EventArgs e)
 {      
     TextBox1.TabIndex = -1;
     lblHide.Focus();
 }

2 个答案:

答案 0 :(得分:0)

有几种方法可以执行此操作,但我只会按照您已有的方式操作...首先确保您的TextBox控件的TabStop属性设置为{{1} }。然后关于隐藏的控件,您可能希望将此代码放在主False控件的Textbox事件下...

GotFocus()

答案 1 :(得分:0)

将文本框设置为:

tabindex = -1

tabstop = false

以上内容取决于您使用的控件类型,无论是asp控件还是html控件。 然后添加如下标签:

<label id="lblHide" name="lblHide" hidden="hidden">

然后将焦点设置为该标签。

更新

所以,这就是你的样子:

<asp:TextBox ID="TextBox1" runat="server" TabIndex="-1" ReadOnly="True"></asp:TextBox>
<asp:Label ID="Label1" runat="server"></asp:Label>

然后在页面上加载:

protected void Page_Load(object sender, EventArgs e)
{
Label1.Focus();
}