当列表框可见时,我点击了窗体窗体,希望使用listbox.lostfocus事件让我隐藏列表框 - 但事件不会发生。我想我可以使用form.click事件来隐藏列表框,但是如何让表单接受焦点?为什么LostFocus事件不会发生?
0
A
回答
0
一个表单也不是想收到重点。它被设计成一个容器控件,它确保它的一个子控件总是得到焦点。从技术上讲,可能会在头部扭曲并使其失去该行为:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
this.SetStyle(ControlStyles.ContainerControl, false);
}
protected override void OnClick(EventArgs e) {
this.Focus();
base.OnClick(e);
}
}
但这是一个坏主意。一个Form没有任何方式来表明它有焦点,你还必须重写OnPaint()来做类似绘制焦点矩形的操作。如果你不这样做,那么用户完全失去了焦点所在的位置。然而,当用户使用键盘时没有任何有趣的事情会发生,相当不方便,表单没有用处。
不要这样做。如果你想让一个控件消失,那么在你的UI中添加一个菜单项,工具栏按钮或一个普通按钮。用户可以点击的东西。
+0
“this.SetStyle(ControlStyles.ContainerControl,false);”当我尝试它时没有效果,只是“this.Focus();” onClick执行此操作 – ahmedsafan86 2011-03-27 07:40:14
0
LostFocus事件时的工作重点转移到像另一个控制文本框,...或者当窗体这一切失去焦点,您可以使用Click事件的形式来检测taht
相关问题
- 1. 为什么textbox.focus会抛出lostFocus事件?
- 2. 为什么TriggerComplete事件不会触发?
- 3. 为什么DropDownList.SelectedIndexChanged事件不会触发?
- 4. 为什么ajax事件不会触发?
- 5. 为什么事件不会再发生一次?
- 6. TextBox LostFocus不会触发
- 7. 为什么此事件发生两次?
- 8. 为什么会发生? java
- 9. 为什么它不会发生死锁?
- 10. 为什么Repeater.ItemDataBound - 事件不会触发任何事情?
- 11. wp7,silverlight,为什么事件会发生两次?
- 12. 为什么'while'语句不会在while循环中发生,而while循环中不会发生其他事件?
- 13. MouseLeave LostFocus事件Silverlight
- 14. ASP.NET TextBox LostFocus事件
- 15. 会发生什么?
- 16. 会发生什么?
- 17. 会发生什么?
- 18. 为什么用JQuery生成的定位标记不会触发onclick事件?
- 19. 处理引发LostFocus和停用事件
- 20. WPF TextBox lostFocus事件触发器
- 21. Visual Studio 2008在发布后事件之后会发生什么事件?
- 22. jQuery:.change()为什么不触发事件
- 23. 为什么System.Windows.Threading.DispatcherTimer不触发事件?
- 24. 为什么不是MouseEnter事件触发?
- 25. 为什么DataGridView SelectionChanged事件不会触发?
- 26. 为什么checkbox_CheckedChanged事件不会被触发?
- 27. 为什么我的事件不会触发两个订户?
- 28. 为什么我的IBM BPM教练事件不会激发JavaScript?
- 29. 为什么不会选择2个事件正确触发?
- 30. 为什么jQuery滚动事件不会触发?
列表框的用途是什么?您可能会使用错误的控件。 – dbasnett 2011-03-27 14:34:31