社区
C#
帖子详情
100分求助 C#中如何让控件失去焦点
ndsccccc2
2005-11-13 12:45:28
谢谢大家
我遇到一个问题,我响应TextBox的OnGotFocus事件,弹出一个模态对话框。
但关闭这个对话框后,焦点又回到TextBox上。
请问,如何能让textBox不自动获取焦点,或者调用函数强制让它失去焦点呢?谢谢
...全文
8738
34
打赏
收藏
100分求助 C#中如何让控件失去焦点
谢谢大家 我遇到一个问题,我响应TextBox的OnGotFocus事件,弹出一个模态对话框。 但关闭这个对话框后,焦点又回到TextBox上。 请问,如何能让textBox不自动获取焦点,或者调用函数强制让它失去焦点呢?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
34 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gj121
2005-11-14
打赏
举报
回复
在弹出模式窗口后面加上这一句
this.Activate();
就OK啦!
jinta2001
2005-11-14
打赏
举报
回复
如果窗口就一个控件,你的要求应该没有办法做到,如果有其他控件,你可以把焦点设置到某一控件,或者使用下面的代码
private void textBox1_Enter(object sender, System.EventArgs e)
{
MessageBox.Show(DateTime.Now.ToString());
textBox1.Enabled=false;
textBox1.Enabled=true;
}
JasonHeung
2005-11-14
打赏
举报
回复
使用隐藏文本框textBox2;
private void textBox1_GotFocus(object sender, System.EventArgs e)
{
MessageBox.Show("Thanks for cshmai", "test");
textBox2.Focus();
}
private void Form1_Load(object sender, System.EventArgs e)
{
textBox2.Focus();
}
ndsccccc2
2005-11-14
打赏
举报
回复
大侠们帮帮忙啊
ndsccccc2
2005-11-14
打赏
举报
回复
最后谢谢大家!!!
ndsccccc2
2005-11-14
打赏
举报
回复
回复 xujiaoxiang()
Thanks!
我就用这办法了,如何结贴啊~~
ndsccccc2
2005-11-14
打赏
举报
回复
我刚试完啦,第一下成,可后来又是反复出来了……
555,有没有MFC那样的失去焦点的函数啊
xujiaoxiang
2005-11-14
打赏
举报
回复
private void textBox1_GotFocus(object sender, System.EventArgs e)
{
textBox1.Enabled=false;
MessageBox.Show(DateTime.Now.ToString());
textBox1.Enabled=true;
}
gj121
2005-11-14
打赏
举报
回复
this.Activate();
MessageBox.Show("xxxx");
这样应该行了吧!
ndsccccc2
2005-11-14
打赏
举报
回复
To fanjiyong000:
我记得这个代码我写过……也是反复弹dialog
ndsccccc2
2005-11-14
打赏
举报
回复
感谢这么多热心人啊~~
net_boy(小明):
我好像也试了,被隐藏的控件好像获得不了焦点了就,另外这样写技巧性代码会被经理骂的,Thank you all the same
gj121(男儿当自强):
那句话就写在InitializeComponent()中,自动生成的那里。好像就是加载时就调用了。不过我用
if(TextBox.MouseButtons!= MouseButtons.Left)
{
return;
}
在前面先判断一下,就不会在加载时进去了,但新问题又出了,关闭对话框后textBox1仍然获取着焦点,但就不能触发GotFocus了,除非出去再进来,做不到“要每次GotFocus时出来”了。
To XuDunYu(西门吹雪):
嗯那,但要是只有一个Control没有other怎么办啊~~
To xujiaoxiang() :
不行不行,我之所以非要响应GotFocus这么恶心的接口,其实响应Click不就成了么……但是,我写的程序要在windows ce和xp都能运行的,就是说用的compact framework,而且要用1.1版本的。所以只好响应GotFocus了,我试着响应Click或者mousedown什么的,但怎么按鼠标都不响应的。
To fanjiyong000:
我正在尝试您的代码~~
xujiaoxiang
2005-11-14
打赏
举报
回复
使用下面的代码
private void textBox1_Enter(object sender, System.EventArgs e)
{
textBox1.Enabled=false;
MessageBox.Show(DateTime.Now.ToString());
textBox1.Enabled=true;
}
XuDunYu
2005-11-14
打赏
举报
回复
将onthercontrol.focus()和messagebox()交换一下位置就结了。
先other.focus();
然后MessageBox.show("");
OK
gj121
2005-11-14
打赏
举报
回复
To: 01070801(琪琪)
你知道
this.textBox1.GotFocus += new System.EventHandler(this.textBox1_GotFocus);
这个响应事件,在窗口加载显示的时候就触发这个事件了!
你上面这一句写在什么地方的啊!
net_boy
2005-11-14
打赏
举报
回复
关注了 我只想到了 多方一个control 然后 模态关闭后 让隐藏的这个得到焦点
fanjiyong000
2005-11-14
打赏
举报
回复
private void textBox1_GotFocus(object sender, System.EventArgs e)
{
MessageBox.Show("Thanks for cshmai", "test");
this.textBox1.Capture = false;
}
private void Form1_Load(object sender, System.EventArgs e)
{
this.textBox1.Capture = false;
}
就是希望MessageBox关闭后,textBox1不要获得焦点
ndsccccc2
2005-11-14
打赏
举报
回复
感谢楼上关注,但我试了,还是不行
private void textBox1_GotFocus(object sender, System.EventArgs e)
{
MessageBox.Show("test");
this.Activate();
}
就是这段代码,
前面响应的事件为
this.textBox1.GotFocus += new System.EventHandler(this.textBox1_GotFocus);
我想让它不反复探messagebox,但又要每次GotFocus时出来~~~
再次谢您
ndsccccc2
2005-11-13
打赏
举报
回复
谢谢,可问题是,考虑到只有一个TextBox的情况呢
wxy0401
2005-11-13
打赏
举报
回复
把焦点调给其它控件能满足你的要求。
ndsccccc2
2005-11-13
打赏
举报
回复
救救我吧~555
加载更多回复(14)
C#
常见问题解决方案手册(即查即用)
目录
C#
正则表达式
C#
语言之字符串和正则表达式
C#
正则表达式判断IP地址是否合法
C#
:string字符串处理
c#
字符串按行读取
C#
数值转固定长度字符串
C#
字符串转换为数字(不考虑异常)——推荐不考虑异常的字符串转数字
C#
字符串判断是否相等(忽略大小写)——推荐使用
c#
怎样取到某个特定字符后面的字符,比如XXXXX#123 和 XXX#12
中
#后面的数字
C#
...
C#
:禁用Panel容器滚动条自动移动位置的功能
今天遇到了一个问题,描述如下: 有一个Panel容器,将AutoScroll属性设置为True,此时Panel容器会在内容过多时自动展示一个滚动条。这个滚动条存在一个缺点,即会随着
焦点
变化自动滚向
焦点
位置。 如果仅初始化界面时Panel滚动条位置变化,可在赋值完毕后执行如下代码将滚动条滚回...
使用 UNO 平台创建跨平台
C#
应用(三)
在本章
中
,我们学习了如何使用 Uno.UITest 和 Selenium 为您的应用程序编写自动化 UI 测试。然后,我们学习了如何在不同平台上运行这些测试,包括在模拟器上运行应用程序上的测试。之后,我们介绍了如何使用 WinAppDriver 为应用程序的 UWP 头部编写 UI 测试,并为 UWP 头部编写单元测试。最后,我们介绍了手动测试以及如何测试辅助功能问题。在下一章
中
,我们将讨论部署您的应用程序以及如何使用 Uno 平台将您的 Xamarin.Forms 应用程序带到 Web 上。
WinForm:禁用Panel容器滚动条自动移动位置的功能
有一个Panel容器,将AutoScroll属性设置为True,此时Panel容器会在内容过多时自动展示一个滚动条。不过今天又遇到了另一个更加棘手的场景,我的一个
控件
需要使用Timer重复操作,操作间隔为1秒。如果
焦点
离开指定的Panel,Panel的滚动条会在1秒以内滚离位置。转载于:https://my.oschina.net/Tsybius2014/blog/776326。这个方法有一个缺点,就是滚动条经过两次拉动后屏幕会有明显闪动,从用户体验的角度上说肯定是不合适的。
C#
WinForm 点击按钮显示唯一窗体
C#
WinForm点击按钮只显示唯一窗体
C#
111,130
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章