文本框焦点问题

kmsch 2011-02-23 11:36:00
我窗体上有个文本框控件,工具栏上也有一个。窗体上的Dock属性为Fill。
假如我现在焦点是在工具栏上的文本框,可是一改变窗体大小或者点击工具栏其他空白处,焦点都会自动转到窗体上的文本框。我试过,如果Dock属性为None则不会出现这个问题。可是我又需要Fill这个功能,还有没有什么可行的办法?
...全文
60 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmsch 2011-02-24
  • 打赏
  • 举报
回复
回2楼:
你说 然后在窗体 SizeChanged 事件里判断这个变量
窗体发送SizeChanged这个事件时,焦点已经自动转换为了窗体上的文本框
所以 isToolTextFocused 永远为false
kmsch 2011-02-24
  • 打赏
  • 举报
回复
回1楼:你这样写又太绝对了,如果要加一个判断:当焦点在toolStripTextBox时才执行怎么写啊?

kmsch 2011-02-24
  • 打赏
  • 举报
回复
我想让有焦点的文本框在窗体大小改变后焦点还是在改文本框。
我知道可以用Focus
可问题是我怎么判断原来焦点在哪个文本框

代码没地方写,比如写在SizeChanged判断,判断时焦点已经切换到了窗体上的文本框了
cjh200102 2011-02-24
  • 打赏
  • 举报
回复
Focus
WenJie11533 2011-02-24
  • 打赏
  • 举报
回复
你想让哪个文本框获得焦点就用哪个文本框调用Focus();
laomengzi 2011-02-23
  • 打赏
  • 举报
回复
private void toolStrip1_MouseDown(object sender, MouseEventArgs e)
{
this.toolStripTextBox1.Focus();
}
龍过鸡年 2011-02-23
  • 打赏
  • 举报
回复
增加个变量 isToolTextFocused 当工具栏上的文本框得到焦点时设置为 true 失去时设置为 false
然后在窗体 SizeChanged 事件里判断这个变量
laomengzi 2011-02-23
  • 打赏
  • 举报
回复
private void Form1_SizeChanged(object sender, EventArgs e)
{
this.toolStripTextBox1.Focus();
}

110,561

社区成员

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

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

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