焦点定位问题?

mayonglong 2008-05-22 11:50:15
有个小问题,请教高手!
不知道什么原因,明明在Load中写了txtId.Focus();可是运行时光标就是不定位到txtId上,不知道是什么原因?谢谢!
...全文
228 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
juge001 2008-05-22
  • 打赏
  • 举报
回复
在LOAD里写txtId.Focus();是不起作用的

你如果想让焦点在这个控件上,那就设置这个的TabIndex为0

好像写在form的actived事件时是可以用的。你可以试一下
Janyue 2008-05-22
  • 打赏
  • 举报
回复
rqx110 2008-05-22
  • 打赏
  • 举报
回复
结贴 啊@!
mayonglong 2008-05-22
  • 打赏
  • 举报
回复
谢谢 rqx110
mayonglong 2008-05-22
  • 打赏
  • 举报
回复
txtId.Focus()要写在form的actived事件里好像不是所有时候都行的,不过Shown是可以的
rqx110 2008-05-22
  • 打赏
  • 举报
回复
这个问题很好解决。用异步的方式就可以了。给你个范例:

private void PingToolsForm_Load(object sender, EventArgs e)
{
this.BeginInvoke(new delegateSetFocus(SetFocus), cmbDestination);
}

private delegate void delegateSetFocus(ToolStripComboBox ctrl);

void SetFocus(ToolStripComboBox ctrl)
{
ctrl.Focus();
}
DBNWP 2008-05-22
  • 打赏
  • 举报
回复
每当窗口被激活时(actived)事件 使txtId获得焦点
而不是窗口被加载时使txtId获得焦点

顺便请教一下:
我朋友开了一家网店!开了一段时间,可没有多少人去买!我对经商不懂!如果您有空,请帮忙提点建议!非常感谢!她的网址是:http://shop35772943.taobao.com 再次感谢!
red_fish 2008-05-22
  • 打赏
  • 举报
回复
txtId.Focus()要写在form的actived事件里。
AaronBCR 2008-05-22
  • 打赏
  • 举报
回复
Shown:是在窗体第一次显示的时候发生的事件
Activated:每当窗体被激活时发生

以上2种事件中设置焦点都是可以的,就看你需要了。
viewsonic2235 2008-05-22
  • 打赏
  • 举报
回复
用Form的Shown事件

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧