我正在开发一个供个人使用的终端服务应用程序,它允许我通过选项卡列出和管理我的所有RDP会话(我知道这些存在,但也将它用作一个小型学习项目)。我想知道是否有人可以帮助一些项目。我试图动态创建并添加选项卡和RDP控件到每个选项卡上。这似乎可以用于创建第一个标签页和控件,但在后续的标签页和控件上失败,错误如下面的代码:
Dim theNewTabPage As New DevExpress.XtraTab.XtraTabPage()
theNewTabPage.Text = txtserver.Text
theNewTabPage.Name = Minute(DateTime.Now) & Second(DateTime.Now)
Dim RDPCONTROL As New AxMSTSCLib.AxMsRdpClient9NotSafeForScripting
RDPCONTROL.Dock = DockStyle.Fill
'Just a test to ensure unique name
RDPCONTROL.Name = Minute(DateTime.Now) & Second(DateTime.Now)
XtraTabControl1.TabPages.Add(theNewTabPage)
theNewTabPage.Controls.Add(RDPCONTROL)
Try
RDPCONTROL.Server = txtserver.Text
RDPCONTROL.Domain = txtdomain.text
RDPCONTROL.UserName = txtusername.Text
Dim secured As MSTSCLib.IMsTscNonScriptable = DirectCast(RDPCONTROL.GetOcx(), MSTSCLib.IMsTscNonScriptable)
secured.ClearTextPassword = txtpassword.Text
RDPCONTROL.Connect()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try`
创建第二个连接时出错:
Using ex.message: exception of type 'system.windows.forms.axhost+invalidactivexstateexception was thrown
Using ex.tostring: property set of 'Server' cannot be invoked at this time
下一项是如何检测选项卡上是否已断开RDP会话,然后弹出消息并关闭所需选项卡
答案 0 :(得分:0)
经过一段时间的游戏,我可以通过调用来解决这个问题:
XtraTabControl1.SelectedTabPage = newTabPage
刚添加新标签页后。 希望这可以帮助将来的某个人