社区
VB基础类
帖子详情
如何使一个控件发生LostFocus事件
Lin2000y
2003-05-17 10:42:52
假如在窗体上有两个控件,其中一个会触发lostfocus事件,但是当点击窗体时并不触发lostfocus事件,点击另外一个控件却可以发生了。为什么呢?请指教
...全文
295
18
打赏
收藏
如何使一个控件发生LostFocus事件
假如在窗体上有两个控件,其中一个会触发lostfocus事件,但是当点击窗体时并不触发lostfocus事件,点击另外一个控件却可以发生了。为什么呢?请指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lin2000y
2003-05-17
打赏
举报
回复
能不能通过API来实现呢?例如如果鼠标点击的范围不是A1那就使其可见性的改变了。
Lin2000y
2003-05-17
打赏
举报
回复
但是我又发现了一个这样的问题了,就是我窗体上有很多其他的容器控件嘛,为什么我点击容器控件也不行呀。如果像你这样说的话,我不是要每个容器控件都要做一个click事件了。
Lin2000y
2003-05-17
打赏
举报
回复
其实A1是一个日期的控件,如果我每点击一次不就使控件都发生一次可见性的改变了。可是日期控件一般都不会是说点击一次的嘛。真的没办法了吗?。
huangjianyou
2003-05-17
打赏
举报
回复
很简单,在窗体上加一个控件,如Text2,然后代码如下就行了:
Private Sub Form_Click()
Text2.Visible = True
Text2.SetFocus
Text2.Visible = False
End Sub
Private Sub Text1_LostFocus()
'想做你做的事
End Sub
以上代码在VB6测试过。
czjw
2003-05-17
打赏
举报
回复
其实你可以用一个按钮或直接用控件al的Click事件,加上这样代码;
if a1.visiable = true then
a1.visiable = false
else
a1.visiable = true
end if
czjw
2003-05-17
打赏
举报
回复
然后 repl 任何
czjw
2003-05-17
打赏
举报
回复
在窗体上点击form是没有办法失去然后控件焦点的。思考中……
Lin2000y
2003-05-17
打赏
举报
回复
实现某个控件a1的visiable属性的更改,无论是点击form或是其他控件,如果a1的visiable为true的话就把他改变为false
czjw
2003-05-17
打赏
举报
回复
这个我知道,但是为什么我想知道这个事件是要怎样才能在点击窗体时也会发生。我希望的效果是在控件外部某一处或者是在某一控件上只有有鼠标点击这个动作都会发生LostFocus这个事件,就好像现在我点击窗体时就没反应.请指教!
-----------------------------
你的这段话象绕口令一样,把我绕糊涂了,你能把问题说细点吗?具体的目的。
Lin2000y
2003-05-17
打赏
举报
回复
你说的是窗体的gotfocus吧,但是这样的话我想没必要吧,我在窗体上点击鼠标了也是应该会发生当前控件的lostfocus事件呀。我想说的是我所点击的不是另一个控件哦,而是form呀,我点击了form,但是他就是不发生这个事件.QQ:51037225 请指教
lwzlemon
2003-05-17
打赏
举报
回复
当你点击窗体时,应该触发的是gotfocus才对,点击别外一个控件,当然原来的控件就失去了focus了。我就是这样认为的
Lin2000y
2003-05-17
打赏
举报
回复
这个我知道,但是为什么我想知道这个事件是要怎样才能在点击窗体时也会发生。我希望的效果是在控件外部某一处或者是在某一控件上只有有鼠标点击这个动作都会发生LostFocus这个事件,就好像现在我点击窗体时就没反应.请指教!
czjw
2003-05-17
打赏
举报
回复
对不起错了,应该是Got
lostfocus是控件失去焦点时发生的事件;
gotfocus才是获得焦点时发生的事件。
czjw
2003-05-17
打赏
举报
回复
lostfocus是控件失去焦点时发生的事件;
setfocus是获得焦点时发生的事件。
Muzhu
2003-05-17
打赏
举报
回复
你在窗体上放置一个完全无用的可以获得焦点的控件。比如TEXT1。代码如下:
Private Sub Form_Click()
'使其他控件失去焦点。
Text1.SetFocus
End Sub
Private Sub Form_Load()
Text1.Move -1500, -1500
End Sub
Lin2000y
2003-05-17
打赏
举报
回复
那其他的容器怎么办呢?每个容器都一定是要写一段累似的代码吗?
shmilu
2003-05-17
打赏
举报
回复
Private Sub Form_Click()
Text1.Visible = False
Text1.Visible = True
Text1.SetFocus
End Sub
Private Sub Text1_LostFocus()
MsgBox "lostfocus"
End Sub
aspvbjava
2003-05-17
打赏
举报
回复
设置一个boolean变量,当控件获得焦点的时候为true,失去为false
当单击form的时候检查boolean,当为true的时候,执行你要的操作,然后变量设置成false
GetF
ocus
\SetF
ocus
\L
ostF
ocus
区别
一、GotF
ocus
事件
Getf
ocus
当
一个
控件
得到焦点时触发, ----过程 获得焦点可以通过诸如TAB 切换,或单击对象之类的用户动作,或在代码中用 SetF
ocus
方法改变焦点来实现。 语法 Private SubForm_GotF
ocus
( ) Private Subobject_GotF
ocus
([index As Integer]) 说明 1、
一个
控件
仅当其Enab
WinForm-Windows
控件
的焦点
事件
顺序
(一)当通过使用键盘(Tab、Shift Tab等)或调用 Select 或 SelectNextControl 方法或通过将 ContainerControl.ActiveControl 属性设置为当前窗体等方式更改焦点时,焦点
事件
按以下顺序
发生
: Enter --> GotF
ocus
--> Leave --> Validating --> Validated -->
Avalonia DataGrid
控件
的L
ostF
ocus
事件
会多次触发
发现DataGrid
控件
里有
一个
L
ostF
ocus
事件
,想用随机数验证一下
事件
的触发情况。需求是在修改单元格后,希望原单元格失去焦点后,会自动触发保存功能。控制台L
ostF
ocus
触发了5次。现在清空控制台,尝试直接再次单击已选中进入编辑状态。可能会把项目放到触摸屏上用,所以想试试。直接从选中行,双击进入新选中行的编辑状态。现在表格没有选中,控制台也清空了。序号3触发,下面两条是从序号3。注意:此时甚至没有进入编辑状态。不知道我的用法是否正确。刚进入系统的时候,直接。
事件
从而进入编辑状态。
C# WinFormApp TextBox添加失焦
事件
L
ostF
ocus
There is no L
ostF
ocus
event for textbox in property Window,if you want to use this then you must need to add event handler. For example, there is textbox onL
ostF
ocus
event in property window, that could be used as below: private void textBox1_onL
ostF
ocus
(o
WPF中使用Slider让L
ostF
ocus
与PropertyChanged兼得
TextBox
控件
获得焦点后,一般点击空白处还是会保留焦点的,如果在外层套
一个
ScrollViewer,则点击空白处会失焦; 类似NumericUpDown的
控件
,默认的UpdateSourceTrigger方式为L
ostF
ocus
,长按NumericUpDown的增减按钮,中间的变化过程不会触发更新,若修改为PropertyChanged方式触发,则无法手修改输入框内的值,两者不可兼得; 可以利用Slider
控件
作为中间人,实现PropertyChanged的触发,TextBox的Text绑定Slid
VB基础类
7,788
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章