继续回到这个并且无法理解......我正在创建一个工作应用程序,它基本上将我们所有的工具编译成一个更易于使用的GUI.我们使用的工具之一是我们从第三方使用的工具,并通过RDWeb作为远程应用程序托管.现在我也经常进行远程桌面访问,我可以使用MSTSC通过我的Winform访问桌面,这个过程非常有效.我很好奇是否可以在MSTSC控件中加载RemoteAPP而不是整个桌面,这样我的用户就无法访问完整的桌面.或者,如果在Winforms中有任何其他方式来托管RemoteAPP.
我已经查看了ITSRemoteProgram上的MSDN文档,但是当我尝试以下操作时,它只会抛出异常.调试器停止rdp.RemoteProgram.RemoteProgramMode = true;并给出HRESULT E_FAIL异常.
我也试过使用remoteprogramOnConnected事件后触发,我得到相同的结果.
try
{
rdp.Server = "FFWIN2008R2DC.fflab123.net";
rdp.Domain = "fflab123";
rdp.UserName = "administrator";
IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx();
secured.ClearTextPassword = "password123";
rdp.OnConnected += rdp_OnConnected;
rdp.RemoteProgram.RemoteProgramMode = true;
rdp.RemoteProgram2.RemoteApplicationName = "Calculator";
rdp.RemoteProgram2.RemoteApplicationProgram = @"C:\Windows\system32\calc.exe";
rdp.Connect();
}
catch (Exception Ex)
{
MessageBox.Show("Error Connecting", "Error connecting to remote desktop " + " Error: " + Ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Run Code Online (Sandbox Code Playgroud)
也许我会以错误的方式走这条路,或者甚至不可能.我想在正确的方向上轻推我不需要任何人为我写这个.
我昨天从VS 2010切换到了VS 2012,除了这个以外,一切似乎都顺利.
我的表单上有一个按钮,按下该按钮可以扩展表单的宽度以显示其他控件.再次按下按钮,它会减小宽度以隐藏这些控件.现在所有这些在VS 2010中运行良好,并且在我在VS 2012中调试时工作正常但是一旦我发布或编译项目并在单击按钮时打开.exe,它就会增加5到宽度而不是需要100+.我再次点击它然后它会像它应该更改为372并显示我的所有控件.我再次点击它来隐藏控件,它部分隐藏了控件(转到188 +神秘的5)我希望所有这些都有意义,我希望有更好的方法来运行我需要的过程.
以下是我目前正在使用的代码,从2010年到2012年,我没有改变任何内容.实际上,如果我在2010年打开这个相同的解决方案并发布一切正常.
private void button1_Click(object sender, EventArgs e)
{
if (this.Width == 188)
{
this.Width = 372;
this.Height = 540;
progressBar.Value = 100;
copied_status.Text = ("Output View Enabled");
}
else
{
progressBar.Value = 100;
copied_status.Text = ("Output View Disabled");
this.Width = 188;
this.Height = 540;
}
if (this.Width == 372)
{
button1.Text = "<<";
}
else
button1.Text = ">>";
}
Run Code Online (Sandbox Code Playgroud) 我有几个复选框和一个文本框.当我选中某个复选框时,它将禁用文本框和其他指定的复选框.
该代码适用于文本框.当我添加else语句时,它仍适用于文本框,但不适用于复选框.如果我省略else并且仅使用它if来禁用它们,它就可以工作.如果取消选中该复选框,我需要它重新启用它们.
我在面板中有所有问题的复选框.
private void noModemChkbox_CheckedChanged(object sender, EventArgs e)
{
if (noModemChkbox.Checked == true)
{
custModemText.Enabled = false;
pwrCbx.Enabled = false;
e1Cbx.Enabled = false;
e2Cbx.Enabled = false;
e3Cbx.Enabled = false;
e4Cbx.Enabled = false;
dslblinkCbx.Enabled = false;
enetCbx.Enabled = false;
dslCbx.Enabled = false;
inetCbx.Enabled = false;
inetredCbx.Enabled = false;
wlanCbx.Enabled = false;
activityChkbox.Enabled = false;
}
else
custModemText.Enabled = true;
pwrCbx.Enabled = true;
e1Cbx.Enabled = true;
e2Cbx.Enabled = true;
e3Cbx.Enabled = true;
e4Cbx.Enabled = true; …Run Code Online (Sandbox Code Playgroud)