WinForm在打开UserControl时冻结

时间:2013-08-02 15:00:46

标签: c# .net winforms devexpress

我有一个WinForm,其中包含显示UserControls的导航菜单。现在一切正常,但是当我尝试从另一个UserControl打开Devexpress UserControl时,表单会冻结。

以下是我使用的代码:

private void btnOpenUserControl2_Click(object sender, EventArgs e)
{  
   UserControl2 uc2 = new UserControl2(ID);

   this.Parent.Controls.Add(uc2);
   uc2.Dock = DockStyle.Fill;
   this.Hide();
   uc2.Show(); 
}

可能的原因是什么?

2 个答案:

答案 0 :(得分:0)

表单冻结很可能是两件事之一: 在你的UserControl2中你发现了一个事件(例如form_Load),并且在那种情况下你有一个无限循环。另一个原因是你有一些handeled异常,或者长流量,非常长的流量,导致你的程序运行缓慢,你认为它很慢。

无论如何,如果您共享UserControl2代码,它会非常有用。但是如果你只是在VS中调试它时暂停程序就会更容易,当它卡住并看到它被卡住了。从那里它应该是相当容易的

答案 1 :(得分:0)

此问题的解决方案是在服务器模式下使用GridLookupEdit控件。在这种情况下,gridLookupEdit将仅从数据库加载一小部分数据,并在滚动网格时继续加载数据。要了解如何在服务器模式下调整gridLookupEdit,请参阅Server Mode主题。