我有一个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();
}
可能的原因是什么?
答案 0 :(得分:0)
表单冻结很可能是两件事之一:
在你的UserControl2
中你发现了一个事件(例如form_Load
),并且在那种情况下你有一个无限循环。另一个原因是你有一些handeled异常,或者长流量,非常长的流量,导致你的程序运行缓慢,你认为它很慢。
无论如何,如果您共享UserControl2
代码,它会非常有用。但是如果你只是在VS中调试它时暂停程序就会更容易,当它卡住并看到它被卡住了。从那里它应该是相当容易的
答案 1 :(得分:0)
此问题的解决方案是在服务器模式下使用GridLookupEdit控件。在这种情况下,gridLookupEdit将仅从数据库加载一小部分数据,并在滚动网格时继续加载数据。要了解如何在服务器模式下调整gridLookupEdit,请参阅Server Mode主题。