C#中有什么控件可以做到在单元格中显示的字符串,局部背景色设置成红色或其他颜色?
只是局部,不是所有字符串的背景色都设置,什么控件可以做到呢?是ListView还是DataGridView?
为此我做了一张图片:
ListView或者DataGridView
通过Owner Redraw自绘
4.1.1 窗体设计
创建 Windows 窗体应用程序,并添加一个用于显示专业信息的窗体,如下图所示
4.1.2 为窗体设置数据源
在上图所示的界面中单击 DataGridView 控件上的“”按钮,在弹出的“DataGridView 任务”菜单中的选择数据源组合框中为 DataGridView 控件设置数据源。
选择数据源的方法与上一节 C# ComboBox 介绍的在组合框中选择数据源的方法是一样的,由于在前面的使用组合框的实例中已经为应用程序设置过数据源,所以这里 DataGridView 控件中的数据源直接选择已经设置好的数据源即可。
在选择数据源后,“DataGridView任务”菜单的效果如下图所示
4.1.3 编辑列
在上图所示的界面中单击“编辑列”,弹出如下图所示的对话框
在该对话框的左侧列出了专业信息表(major)中的所有列,右侧列出了列的属性,常用的属性如下表所示
属性名称 | 说明 |
---|---|
Frozen | 设置用户在水平滚动 DataGridView 控件时列是否移动,默认是 False |
ColumnType | 设置显示列时的控件类型,默认是文本框 |
DataPropertyName | 设置绑定数据源中的列 |
HeaderName | 设置在 DataGridView 列中显示的列标题 |
Visible | 设置该列是否可见 |
在上图所示的对话框中将 id 列的列标题 (HeaderText) 属性设置为“编号”、将 name 列的列标题 (HeaderText) 属性设置为“专业名称”
4.1.4 运行效果
4.1.4 说明
从上面的运行效果可以看出,使用可视化数据绑定方式可以快速完成将数据表中的数据显示在 DataGridView 控件中的操作,并可以很容易地对绑定列的属性进行相关设置
DataGridView可以,比如有一个表我想让它第二列变黄,就像这样。
List<Bus> buses = new List<Bus>();
buses.Add(new Bus(1, 1, 1));
buses.Add(new Bus(2,2,2));
buses.Add(new Bus(3,3,3));
dataGridView1.DataSource= buses;
dataGridView1.Columns[1].DefaultCellStyle.BackColor = Color.Yellow;