小编Nab*_*bic的帖子

在Winform中托管RemoteAPP会话

继续回到这个并且无法理解......我正在创建一个工作应用程序,它基本上将我们所有的工具编译成一个更易于使用的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)

也许我会以错误的方式走这条路,或者甚至不可能.我想在正确的方向上轻推我不需要任何人为我写这个.

c# rdp remoteapp winforms

12
推荐指数
1
解决办法
4874
查看次数

切换到VS 2012,现在表格没有正确调整大小?

我昨天从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)

c# visual-studio-2010 winforms visual-studio-2012

6
推荐指数
1
解决办法
1077
查看次数

在CheckedChange事件上禁用/启用多个项目

我有几个复选框和一个文本框.当我选中某个复选框时,它将禁用文本框和其他指定的复选框.

该代码适用于文本框.当我添加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)

c# checkbox winforms

3
推荐指数
1
解决办法
1011
查看次数