2009-08-18 77 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