灰太狼麦麦

James Wu
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C# 让DataGridView的Header铺满方框

Posted on 2010-11-19 13:40  James Wu  阅读(4781)  评论(0)    收藏  举报

很多人在WinForm中使用DataGridView的时候都会碰到如下图一样的问题,图上面的白框怎么拉都拉不到铺满整个DataGridView设定的方框,显得很难看。并且背景和前面的白色反差很大,也不好看

image_thumb[1]

 

其实这个问题很好解决,只要更改一下属性就行了,效果如图所示

image_thumb[3]

 

那么下面我们从头开始。如果懂怎么设定绑定,直接跳到Step4.

Step1.新建类

新建一个类,这是DataGridView中要绑定的类,重新编译一下,为了让后面的Data Source能够找到这个类。

    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public string Address { get; set; }
    }

 

Step2.放置DataGridView

在Toolbox中拖出一个DataGridView,在需要的地方拖动,设置好大小,这个时候在Fom1.Designer.cs中就自动生成了很多关于DataGridView的代码,比如:

private System.Windows.Forms.DataGridView dataGridView1;

 

Step3.设置绑定

选中DataGridView,这个时候右上角会出现一个小三角,选中,点击(none)旁边的三角,选择Add Project Data Source

image_thumb[13]

 

然后选择Oject->Next,在Person类前面的方框里打钩,点Finish就可以了。这个时候,DataGridView的DataSource属性就和一个叫做personBindingSource的东东绑定上了。在Fom1.Designer.cs中自动生成了很多代码,其中有:

private System.Windows.Forms.BindingSource personBindingSource;

this.dataGridView1.DataSource = this.personBindingSource;

 

Step4. 让Header铺满和修改背景色

经过上步之后,DataGridView中出现了如图所示的情况:

image_thumb[14]

 

正如前面所说:Header没有铺满方框,底框颜色不和谐

修改方法很简单:

右键点击这个DataGridView,选择Properties,在右下角出现的属性窗口中找到Columns,如图

image_thumb[16]

点击Collection右边的按钮,出现了所有的Column各自对应的属性,在左边选择Address后,在右边找到Layout类别下的AutoSizeMode,把它改成Fill,点确定就可以了。在Form1.Designer.cs中就自动的有如下代码的修改:

this.addressDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;

 

其实除了Fill,其他的几个也挺实用的,可以根据自己的需要来修改

 

是不是很简单?呵呵

下面是修改背景色,在上图的属性窗口中,找到BackgroudColor,把它修改为【白色】Control就行了,具体什么颜色自己定吧。

 

下次博客讲怎么让组件随着窗口的拖动变化Size,其实也很简单~~