作者sdwufei (玉鼎)
看板Visual_Basic
标题[.NET] 关於Focus的使用问题?
时间Mon Apr 16 03:50:33 2012
想请问,我的程式现在大致来说
Form1使用Timer在监控剪贴簿Clipbrd是否有资料,若有资料
的话呼叫出Form2并且在Form2检测按下哪个号码(数字键1~4),
把Clipbrd的资料贴到Form1对应的TextBox(1~4)。
而目前碰到的问题点在於:
当我是在操作Form1使Clipbrd产生资料(ex:在Form1的TextBox
自己输入资料後再按Ctrl+C),则会跳出Form2後可以直接按下
1~4的按键,就可以把资料顺利贴到Form1的TextBox内。
但是如果我是在其他部分,例如网页上复制文字使Clipbrd产生
资料,因为我有对Form2下达Focus的命令,所以Form2有跳出来
并且显示在最上面。但是按下1~4却无法执行贴上资料到Form1的
动作。一定要自己滑鼠先点一下Form2後,按下1~4才会贴资料到
Form1去。
而且我又尝试一种模式,例如我在档案总管内修改资料夹的名
称时,我按下Ctrl+C复制後,Form2跳出来了,但是我当下如果
按下1~4,则会直接输入在修改资料夹名称的地方,而不是如我
所希望的,Form2跳出来後,我所输入的1~4是拿来判断要贴到
Form1哪个TextBox的工作。
想请问各位前辈知道这是哪个部分没有控制到嘛?感觉好像是
用了Focus只是把画面呼叫出来,但实际上Window的游标还是在
我滑鼠原本停留的位置。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.37.88.56
1F:推 EdisonX:SetForegroundWindow ?? 04/16 04:31
我不知道是不是我想的太复杂多了,还是这是vb2010才有的功能,
当我使用Form2.Focus()时,顺便加上一行Form2.Activate()就可
以达到我的需求了。
也感谢E大让我有个方向去找答案。
※ 编辑: sdwufei 来自: 114.43.98.167 (04/17 01:11)