C#RDP ActiveX控件失去焦点

时间:2009-08-18 10:32:57

标签: c#

我正在编写一个简单的终端服务器应用程序,我遇到了MSTSCLib activeX组件的问题。表单加载和远程桌面连接工作,但是,一旦单击另一个控件,远程桌面控件停止响应。当我点击它时,控制器只发出一声叮当声。为什么它会这样做,好像我不能从点击中重新获得焦点?

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

感谢您的帮助。

2 个答案:

答案 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();
    }

每次失去焦点时,只需点击

即可