我将图像绑定到资源文件夹中的GridView
。当我加载表单时,图像将是bind.But当从MDIPARENT
表单调用该表单时,图片将不会显示。我在下面附加图片和代码。
DataGridViewImageColumn ic = new DataGridViewImageColumn();
ic.HeaderText = "Payment";
ic.Image = null;
ic.Name = "cImg";
ic.Width = 50;
dtGrCustBal.Columns.Add(ic);
foreach (DataGridViewRow row in dtGrCustBal.Rows)
{
DataGridViewImageCell cell = row.Cells[10] as DataGridViewImageCell;
cell.Value = Properties.Resources.icon_payment_cash_small;
}
CustomerBalance ChildCustBal = new CustomerBalance();
ChildCustBal.MdiParent = this;
ChildCustBal.Show();
从MDI父级加载: 直接加载:
答案 0 :(得分:3)
当图像在表单加载事件处理程序中绑定时,如果MDIChild
DataGridViewImageCell
的值再次显示为null,则显示时间表并且您不需要看到任何图像。当它不是MDChild
时,则保留单元格值并且您看到图像。我不清楚为什么在MDIChild
的情况下发生了重置。
订阅表单的Shown
事件,并将图像绑定代码移动到该事件处理程序。它适用于普通和MDIchild
用例。
答案 1 :(得分:2)
在从资源文件夹中检索图像时,请尝试使用项目命名空间。
DataGridViewImageColumn ic = new DataGridViewImageColumn();
ic.HeaderText = "Payment";
ic.Image = null;
ic.Name = "cImg";
ic.Width = 50;
dtGrCustBal.Columns.Add(ic);
foreach (DataGridViewRow row in dtGrCustBal.Rows)
{
DataGridViewImageCell cell = row.Cells[10] as DataGridViewImageCell;
cell.Value ="your namespace".Properties.Resources.icon_payment_cash_small;
}