我的 Windows 表单DevExpress.XtraGrid.GridControl
以Form1
类似的方式包含第二类,称为Form2
. 在 Form1 上,我正在从数据库加载数据。当我双击网格行时,它分配给 Form2。事件Form1
gridControl1_DoubleClick
IsHandleCreated 道具为真(Form2
继承自Form1
)
void gridControl1_DoubleClick(object sender, EventArgs e)
{
if (gridControl1.IsHandleCreated)
{
}
Form2 obj = new Form2();
obj.Display();
}
所以我在 Form1 上创建了一个属性
public GridControl GridControl1
{
get { return gridControl1; }
}
但是当我调用 Form2 的 Display() 方法并检查 Form2 上的 IsHandleCreated 道具是否为假时。
public void Display()
{
if (handleCreated)
{
}
}
完整代码如下**Form1**
public partial class Form1 : Form
{
public GridControl GridControl1
{
get { return gridControl1; }
}
public bool handleCreated
{
get { return gridControl1.IsHandleCreated; }
}
public Form1()
{
InitializeComponent();
gridControl1.DataSource = CreateTable(20);
gridControl1.DoubleClick += gridControl1_DoubleClick;
}
void gridControl1_DoubleClick(object sender, EventArgs e)
{
if (gridControl1.IsHandleCreated)
{
}
Form2 obj = new Form2();
obj.Display();
}
private DataTable CreateTable(int rowCount)
{
DataTable table = new DataTable();
table.Columns.Add("String", typeof(string));
table.Columns.Add("Int", typeof(int));
table.Columns.Add("Date", typeof(DateTime));
for (var i = 0; i < rowCount; i++)
{
table.Rows.Add(string.Format("Row {0}", i), i, DateTime.Today.AddDays(i));
}
return table;
}
}
**Form2**
public class Form2 : Form1
{
public Form2()
{
}
public void Display()
{
if (handleCreated)
{
}
//Form1 obj = new Form1();
//if (obj.handleCreated)
//{
//}
}
}
在 Form2 中,handleCreated 总是假的,我不知道为什么?请帮我