textbox1的焦点属性获取
为什么在form_load事件是无法加载 textbox1.focus 这个属性?
而把它放在button1_click事件中又可以呢?
问题点数:40、回复次数:7Top
1 楼renyu732(Sysinfo)回复于 2005-07-02 19:22:00 得分 0
不知道楼主是怎么写的?
RegisterStartupScript("focus", "<script language=javascript>document.all.控件名.focus();</script>");
或
A()
{
docuemnt.get..id().focus()
}
<body onload="A()">
Top
2 楼LaoDai_Net(『老代』)回复于 2005-07-02 19:42:53 得分 40
楼主是在winform下面吧,可以设置 TextBox 的TabIndex 达到你要的效果,把需要获得焦点的那个TextBox的TabIndex设置为最小Top
3 楼AntingZ(夕惕若)回复于 2005-07-02 19:55:43 得分 0
恩,在load事件中用focus没效果的,用楼上的方法可以。
在Activated事件focus可以生效,不过窗体每次activate的时候都会执行,可能不符合你的要求。Top
4 楼rzpc(淡蓝色)回复于 2005-07-02 23:46:25 得分 0
嗯,实际上最好的方法是把那个文本框的TabIndex属性置为窗体中所有控件的最小的.比如置为0
但 用异步方法可以完美地实现楼主的目的
拢共分三步:-)
1.声明一个小代理
Delegate Sub TempDelegate(ByVal obj As Control)
2.写一个小方法,用于设置焦点
Sub SetFocus(ByVal obj As Control)
obj.Focus()
End Sub
3.在Form的Load事件里异步调用
这里假设你要设置焦点的文本框名字是TextBox1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.BeginInvoke(New SetFocus(AddressOf SetFocus), New Object() {TextBox1})
End Sub
OK,就这么多Top
5 楼zeusvenus()回复于 2005-07-03 00:04:09 得分 0
在HTML中写JS让焦点在某个控件上比较省事。Top
6 楼sagezk(SageZK)回复于 2005-07-03 11:49:43 得分 0
此问题应该这么问:
在WinForm(或WebForm)中,为什么在窗体的Load事件中执行Textbox1.Focus这个方法后,Textbox1还是得不到输入焦点,而把它放在Button的Click事件中又可以呢?
解决方法楼上几位已经回答的很好了!Top
7 楼Drong([伤口])回复于 2005-07-03 22:32:20 得分 0
原题:
为什么在form_load事件是无法加载 textbox1.focus 这个属性?
而把它放在button1_click事件中又可以呢?
答:
因为Form_Load事件窗体还没有显示出来 所以是没有焦点的,除非你用Me.Show之后再用FocusTop




