问题描述
|
我有一个“ 0”项目,该项目运行两个“ 1”对象,用于测试是否应该收集数据以及是否收集数据。这些似乎运行正常,但是当我添加功能来查看收集的数据时,在尝试对可用数据进行图形绘制时,表单冻结了。
单击第一个按钮时,数据将在带有列表框的新表单窗口中列出。在这个新窗口上,我还有另一个按钮,用于在看起来正常的情况下以图形方式绘制数据。
这是整个项目冻结的地方。我尝试过的方法不是软拷贝传递给新表单的类引用,而是在构造函数中创建一个新对象。只要数据收集“ 1”没有运行,就可以正常工作。进行收集时,单击“绘图”按钮将冻结表格,“数据显示”按钮可以正常工作。
private void wellStatusButton1_Click(object sender,EventArgs e)
{
try
{
ListDataForm temp = new ListDataForm(tubes[0],1);
temp.ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void plotDataButton_Click(object sender,EventArgs e)
{
try
{
GraphForm plotData = new GraphForm(at);
plotData.ShowDialog();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
解决方法
很难从问题中获取很多信息,但是对您可能有用的一件事是:当Windows程序在后台执行其他操作时,通常UI可能会冻结。您可以尝试定期使用:Application.DoEvents(),这将使UI显得响应更快。