今天我就来演示datafridview控件设置字体样式和颜色。首先创建一个C#语言下的窗体应用程序,添加一个datagridview控件。实现对单个单元格或多个单元格设置字体样式和颜色,如下图就是我对单个单元格设置图。
工具/原料
我这用的是visual studio2010程序设计软件
新建C#winform项目并完成界面设计
1、打开编译软件,新建一个项目。操作方法为找到菜单栏“文件”->“新建”->“项目”。
2、在新建项目页面中新建一个C#语言的窗体应用程序项目,项目名为“DGVShow”。
3、在Form1窗口上添加一个dataGridView控件,两个combobox控件和一个textbox控件加一个按钮。具体如下图所示。
dataGridView设置字体样式和颜色
1、要设置DataGridView控件字体样式和颜色需要先给控件中添加数据。创建一个DataTable对象dt,给dt添加4列对象和6条数据,在窗体加载的时候讲数据给dataGridView1.DataSource=dt;具体实现代码如下图。
2、编译运行,可以看到在dataGridView1中显示了我们刚添加的数据。具体执行结果如下图所示。
3、获取系统字体:在下拉框事件cb_zt_DropDown中获取系统字体。private void cb_zt_DropDown(object sender, EventArgs e) { cb_zt.Items.Clear(); InstalledFontCollection MyFont = new InstalledFontCollection(); FontFamily[] fontFamilys = MyFont.Families; if (fontFamilys == null || fontFamilys.Length < 1) { return; } foreach (FontFamily item in fontFamilys) { cb_zt.Items.Add(item.Name); } }编译运行获得字体如下图红框所示。
4、获取系统字体颜色:private void cb_color_DropDown(object sender, EventArgs e) { cb_color.Items.Clear(); string[] colorArray = Enum.GetNames(typeof(System.Drawing.KnownColor)); foreach (string color in colorArray) { cb_color.Items.Add(color); } }编译运行结果图如下,红框框中的就是系统的字体颜色。
5、准备工作已经做完,现在就来实现“设置”这个按钮的功能:首先创建一个Font对象 font = new Font(cb_zt.Text, Convert.ToInt32(tb_size.Text));和一 Color对象 color = ColorTranslator.FromHtml(cb_color.Text);获取选定的单元格循环设置颜色字体大小: for (int i = 0; i < dataGridView1.SelectedCells.Count; i++) { dataGridView1.SelectedCells[i].Style.Font = font; dataGridView1.SelectedCells[i].Style.ForeColor = color; }具体代码如下图
6、到目前为止,打码编写功能已经完成,现在就来验证。首选我选择了一个单月个设置字体大小“14”,字体名“幼圆”,字体颜色“红字”,我们可以看到箭头指向的单元格字体样式和颜色已经修改了。
7、除了一个单元格能设置还可以一次设置多个单元格或者多行。现在我就来让第二行显示的字体为“楷体”,大小为“10”,颜色为“绿色”。
8、还可以单击做上面的按钮来全选单元格设置字体。现在是不是所有单元格的字体都统一成楷体”、“10”“绿色”了。是不是功能完美实现了呢?不仅能设置单个单元格的样式还能设置多个单元格的字体样式和颜色。