【发布时间】:2012-12-05 14:53:46
【问题描述】:
我有一个 DataGrid,出于某种原因,我必须将其声明为全局。在第一次使用时,一切似乎都运行良好。但是当我返回表单进行另一次尝试时,会调用对象处理异常。无论如何我可以防止这种情况发生吗?像处理公共数据网格什么的?这是我的代码示例:
public static DataGrid dataGrid = new DataGrid();
public myForm()
{
InitializeComponent();
dataGrid.Location = pt;
dataGrid.Font.Name = "Tahoma";
dataGrid.Font.Size = 9;
dataGrid.BackgroundColor = Color.Azure;
dataGrid.GridLineColor = Color.Black;
dataGrid.ColumnHeadersVisible = false;
dataGrid.RowHeadersVisible = false;
dataGrid.PreferredRowHeight = 60;
this.Controls.Add(dataGrid);
dataGrid.Height = 524;
dataGrid.Width = 468;
dataGrid.CurrentCellChanged += new
EventHandler(dataGrid_CurrentCellChanged);
}
【问题讨论】:
-
提供更多关于您想要实现的目标的详细信息?
-
你从哪里得到异常?
-
异常发生在dataGrid.Location = pt。如果我第二次使用该表格,就会发生这种情况。
-
那是因为,当你的表单被释放时,你的表单会释放其组件中的任何东西,因为你将它添加到 this.controls 列表中,你可能无法在表单被释放后使用它.我的建议.. 不要使用静态数据网格
标签: c# datagrid compact-framework dispose