c#程序非常慢并挂起mstsc

时间:2011-02-23 12:10:59

标签: c# performance mstsc

我正在为一些公司建立一个c#计划。当我从公司的笔记本电脑上测试程序时,它运行顺畅而稳定。但是当我在微软终端客户端上运行该程序时,在一个列表视图中,该列表视图可以有大约1000行和5或6列,它开始减速,直到没有任何响应并且终端客户端无法使用。表单的代码大约是1000行。

我可以做些什么来提高性能?我的代码是无效的还是对mstsc有一些限制,我必须考虑一下?

2 个答案:

答案 0 :(得分:0)

您可能需要调低mstsc体验设置:

运行MSTSC,然后点击选项>>按钮。 转到体验标签。 要么改变连接速度,要么自己关闭一些选项(特别是“菜单和窗口动画”)

您可以将这些设置保存为默认设置,也可以为特定连接保存rdp文件,这样您就不必每次都进行调整。

答案 1 :(得分:0)

来自这篇评论:“我在表格的代码中看到msrdp的性能问题,有InvalidateCode的调用,或者没有正确配置Paint事件的控件。是你的情况吗?你能发布一些代码吗? - 史蒂夫B“

我发现评论这段代码,从来没有打算做最终版本,但是在设计师的按钮完成之前是暂时的,是罪魁祸首。为什么我真的不打赌他!它现在有效!

private void terug_btn_Paint(object sender, PaintEventArgs e)
    {
       /* if (mf != null)
        {
            System.Drawing.Drawing2D.GraphicsPath myGraphicsPath = new System.Drawing.Drawing2D.GraphicsPath();
            myGraphicsPath.AddLine(30, 0, 130, 0);
            myGraphicsPath.AddLine(130, 0, 130, 30);
            myGraphicsPath.AddLine(130, 30, 30, 30);
            myGraphicsPath.AddLine(30, 30, 0, 15);
            myGraphicsPath.AddLine(0, 15, 30, 0);
            terug_btn.Size = new System.Drawing.Size(135, 35);
            terug_btn.Region = new Region(myGraphicsPath);
            terug_btn.BackColor = Color.LightBlue;
        }*/
    }