MDI子窗体Load事件中设置DataGridView行高、背景色失效

dnawo 2009-10-13 12:08:12
在窗体的Load事件中设置DataGridView行高、背景色:

private void Form2_Load(object sender, EventArgs e)
{
using (SqlConnection conn = new SqlConnection("server=(local);database=Northwind;user id=sa;password=sa;"))
{
using (SqlDataAdapter adapter = new SqlDataAdapter("Select * FROM Products", conn))
{
DataTable table = new DataTable();
adapter.Fill(table);

dataGridView1.DataSource = table;
}
}

//设置第一行高度、背景色
dataGridView1.Rows[0].Height = 100;
dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;
}


若窗体不是MDI子窗体,上边代码能正常运行;当窗体做为MDI子窗体时,数据绑定正常,但不能设置行高和背景色!获取设置后的值:

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(dataGridView1.Rows[0].Height.ToString() + "\r\n" + dataGridView1.Rows[0].DefaultCellStyle.BackColor.ToString());
/*
* 结果:
*
* 23
* Color[Empty]
*/
}


说明设置未生效!后测试发现,若在按钮点击事件中设置DataGridView行高、背景色却又可以:

private void button1_Click(object sender, EventArgs e)
{
//设置第一行高度、背景色
dataGridView1.Rows[0].Height = 100;
dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red;

MessageBox.Show(dataGridView1.Rows[0].Height.ToString() + "\r\n" + dataGridView1.Rows[0].DefaultCellStyle.BackColor.ToString());
/*
* 结果:
*
* 100
* Color[Red]
*/
}


不知什么原因?
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小马哥淡定 2011-04-03
  • 打赏
  • 举报
回复
同求………………
dnawo 2009-10-14
  • 打赏
  • 举报
回复
up......
dnawo 2009-10-13
  • 打赏
  • 举报
回复
up...

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧