VB问题:用me.hide隐藏窗口后用me.show显不出来,怎么办??

我用键盘作为快捷键来控窗口的隐藏和显示:代码如下PrivateSubForm_KeyPress(KeyAsciiAsInteger)IfKeyAscii=101ThenF... 我用键盘作为快捷键来控窗口的隐藏和显示:

代码如下
Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 101 Then
Form1.Show
End If

If KeyAscii = 121 Then
Me.Hide
End If

End Sub

当我按下y之后,窗口可以隐藏,但按e时显不出来!!

请问应该怎么做???
你只说原因,还没给出解决办法呀!!!

应该怎样才能实现呢???
展开
 我来答
fanhappy123
2008-10-04 · TA获得超过514个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:582万
展开全部
这个问题要完美解决最好用API,首先说快捷键部分,最好注册全局热键,这样不论你窗体是否具有焦点都可以随意隐藏显示
窗体的显示隐藏用SetWindowPos
注册热键用RegisterHotKey
单键的热键用GetAsyncKeyState
我做过个程序你可以参考

如有问题可以消息我

http://tieba.baidu.com/f?kz=346258333
此程序可以对任意窗口进行显示、隐藏、永在最上、关闭等操作
支持热键。任何状态下按小键盘区的"+","-","*"可以隐藏、关闭、显示所选窗口。

两种热键技术
组合热键可以使隐藏状态的本程序窗口显示(具有防热键冲突功能)
单键热键可以操作选中的任意窗口

系统通知栏图标

窗体模块
frmMain 程序主窗口

标准模块
APIStuff 管理系统通知栏图标(添加、删除、菜单管理)
CommDlgs 不使用控件的公用对话框
HotKey 组合热键管理
modMain 主模块
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九條可憐
2008-10-04 · TA获得超过304个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:143万
展开全部
新建一个Form2,输入代码
Private Sub Form_KeyPress(KeyAscii As Integer)

If KeyAscii = 101 Then
Form1.Show
End If

If KeyAscii = 121 Then
Form1.Hide
End If

End Sub

然后运行Form2,再按键就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
k260567918
2008-10-04 · 超过28用户采纳过TA的回答
知道答主
回答量:154
采纳率:0%
帮助的人:104万
展开全部
你这是只针对当前焦点窗口的热键。。
如果Form1隐藏了,就等于失去焦点了。。
所以按热键无效的。

建议去找下写捕获键盘命令的代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zUfs6652
2008-10-04 · TA获得超过4217个赞
知道小有建树答主
回答量:1431
采纳率:0%
帮助的人:1291万
展开全部
添加一个计时器 Timer1
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Long

Private Sub Form_Load()
Timer1.Interval = 10
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
'检查是否热键被按下
If GetAsyncKeyState(vbKeyY) Then Me.Hide
If GetAsyncKeyState(vbKeyE)Then Form1.Show
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lipeiyi2006
2008-10-04 · TA获得超过1567个赞
知道小有建树答主
回答量:1065
采纳率:0%
帮助的人:1078万
展开全部
隐藏之后,Form失去焦点,当然不会响应KeyPress事件。要首先获得焦点才行!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式