2009-08-18 86 views
0

我正在编写一个简单的终端服务器应用程序,并且遇到MSTSCLib activeX组件的问题。然而,只要单击另一个控件,远程桌面控件就会停止响应,然后窗体加载和远程桌面连接就可以工作。当我点击它时,控制器只会发出一声叮声。为什么它会这样做,就好像我无法从点击中重新获得焦点?C#RDP ActiveX控件失去焦点

如果我使用tab键,远程桌面控件将再次响应。这两种连接方式有什么区别?

感谢您的帮助。

回答

1

您可以尝试创建附加到通知图标的按钮或上下文菜单,并将焦点设置到远程桌面。

private void button1_Click(object sender, EventArgs e) 
    { 
     remotedesktop.Focus(); 
    } 

你失去焦点的每次只需点击

2

好像与ActiveX控件的known issue,所提出的解决方法为我工作:

public class RdpClient : AxMSTSCLib.AxMsRdpClient71 
{ 
    protected override void WndProc(ref Message m) 
    { 
     if (m.Msg == 0x0021) 
     { 
      Focus(); 
     } 

     base.WndProc(ref m); 
    } 
} 
+1

仍然运转完好+1 – JanW 2011-07-18 20:52:25