简介默认的 Forms Designer(窗体设计器)生成的代码不能始终创建适用于创建 Microsoft? Windows? 窗体的最优代码。但是,执行一些操作可以帮助优化生成的代码。通过编写自己的窗体初始化代码,可以改进窗体的加载性能。 此外,通过重新排列和/或覆盖由 Microsoft Visual Studio? .NET 中的 Forms Designer(窗体设计器)生成的代码,可以显著提高应用程序整个窗体的加载性能。 警告:请勿在修改 InitializeComponent 后使用设计器。 InitializeComponent 方法前有一个注释,警告您不要修改代码。如果修改 InitializeComponent 方法中的代码,将无法再使用 Forms Designer(窗体设计器)。如果使用 Forms Designer(窗体设计器),所做的修改将丢失。只应在开发的最后阶段,完成所有设计工作后,再执行这些优化。 本文假定您在 Microsoft .NET Framework 精简版和 Microsoft Visual C#? .NET 方面有一定的使用经验,并且已安装了 Visual Studio .NET 2003。 测量性能要测量窗体初始化代码的性能,可以使用一个简单的测试来测量初始化窗体控件所需的时间。通过记录调用 InitializeComponent 方法前后系统计时器的刻度计数,可以记录初始化窗体控件所需的时间。为此,您可以通过 Platform Invoke (P/Invoke) 使用 coredll.dll 中的 GetTickCount() API 调用。
// GetTickCount() 的 API 原型 [DllImport("coredll.dll", EntryPoint="GetTickCount")] public static extern uint GetTickCount(); // 窗体构造函数 public Form1() { uint startTickCount, endTickCount, timeTaken; // 调用 GetTickCount 获取起始刻度计数 startTickCount = GetTickCount(); // 初始化窗体中的控件 InitializeComponent(); // 再次调用 GetTickCount 获取最终的刻度计数 endTickCount = GetTickCount(); // 计算初始化控件所用的时间(以毫秒为单位) timeTaken = startTickCount - endTickCount; // 在消息框中显示所用的时间 MessageBox.Show("加载时间:" + timeTaken.ToString() + "毫秒"); }
|
|
|
|
|
|
标签NewsAbout错误:Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
|
|
|
|