Esempio n. 1
0
        /// <summary>
        /// 连接远程服务器
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void ConnectRemoteHost(object sender, EventArgs e)
        {
            var host   = (RemoteHost)((MetroTile)sender).Tag;
            var ipInfo = host.IpAddress;
            var port   = ipInfo.Port;//实时计算属性,缓存

            #region 1.0 创建页签
            var page = new TabPage(string.Format("{0}[{1}]", host.FName, ipInfo.FFullUrl));
            tabControl.TabPages.Add(page);
            page.ContextMenuStrip  = menuTabPage;
            tabControl.SelectedTab = page;
            #endregion

            #region 2.0 创建远程桌面客户端
            var rdpClient = new AxMsRdpClient
            {
                Dock   = DockStyle.None,
                Width  = Screen.PrimaryScreen.Bounds.Width,
                Height = Screen.PrimaryScreen.Bounds.Height
            };
            page.Controls.Add(rdpClient);

            rdpClient.Server   = ipInfo.FIpAddress;
            rdpClient.UserName = ipInfo.FLoginUser;

            if (port > 0)
            {
                rdpClient.AdvancedSettings2.RDPPort = port;
            }
            rdpClient.AdvancedSettings2.ClearTextPassword = ipInfo.FPassword;
            //偏好设置
            rdpClient.ColorDepth     = 16;
            rdpClient.ConnectingText = string.Format("正在连接[{0}],请稍等... {1}",
                                                     host.FName, ipInfo.FFullUrl);
            #endregion

            //连接远程桌面
            rdpClient.Connect();
        }
 public AxMsRdpClientEventMulticaster(AxMsRdpClient parent) {
     this.parent = parent;
 }