richTextbox获取键盘焦点后首次输入无效(出现“噔”的提示音)

weixin_38065656 2016-10-20 05:03:40
想做一个:热键(Alt+S)呼出一个窗口,窗口内有一个Richtextbox,呼出后直接输入(假定英文输入法),要求能够输入到Richtextbox里。
private IntPtr MainWindowProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) //系统消息回调
{
switch (msg)
{
case HotKey.WM_HOTKEY:
{
int sid = wParam.ToInt32();
if (sid == alts) //输入Alt+S热键
{

this.WindowState = WindowState.Normal;
this.Topmost = true;


Keyboard.Focus(richTextBox);

;
}
else if (sid == altd) //试图使用Alt+D隐藏
{
this.WindowState = WindowState.Minimized;
}
handled = true;
break;
}
}

return IntPtr.Zero;
}


目前采用这样的代码进行控制通过这样的编码后,尽管能够热键呼出窗口,呼出后键盘输入光标也在Richtextbox中闪,但是第一个键压下去的时候会出现噔的一声,有一种感觉当前窗口没被激活的样子。 紧接着输入就正常了。  不懂为什么会发生这样的问题。  想做到呼出、直接输入这样的流畅的功能。  恳请大家帮助。
...全文
17 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧