我正在编写一个简单的终端服务器应用程序,我遇到了MSTSCLib activeX组件的问题。表单加载和远程桌面连接工作,但是,一旦单击另一个控件,远程桌面控件停止响应。当我点击它时,控制器只发出一声叮当声。为什么它会这样做,好像我不能从点击中重新获得焦点?
如果我使用tab键,远程桌面控件将再次响应。这两种连接方法有什么区别?
感谢您的帮助。
答案 0 :(得分:2)
看起来像是known issue的ActiveX控件,建议的解决方法对我有用:
public class RdpClient : AxMSTSCLib.AxMsRdpClient71
{
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0021)
{
Focus();
}
base.WndProc(ref m);
}
}
答案 1 :(得分:1)
您可以尝试创建附加到通知图标的按钮或上下文菜单,并将焦点设置到远程桌面。
private void button1_Click(object sender, EventArgs e)
{
remotedesktop.Focus();
}
每次失去焦点时,只需点击
即可