通过CellPainting重新绘制单元格来实现同一个单元格中显示图片和文字
要在同一个单元格中显示图片和文字,在网上找了很久,总的来说有这两种方法,第一种就是进行控件的扩展,doc.xuehai.net里面讲的很清楚(没有实际操作过,所以不知道效果如何),第二种方法就是用DataGridView中的CellPainting事件来进行单元格的重新绘制(网上很多人用这个事件处理单元格的合并),用这种方法需要注意几个问题,代码如下:
private void dgvData_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == 2)
{
if (this.dgvData.Rows[e.RowIndex].Cells["file_Extension"].Value == DBNull.Value)
return;
string strExtension = this.dgvData.Rows[e.RowIndex].Cells["file_Extension"].Value.ToString();
string strFileName = this.dgvData.Rows[e.RowIndex].Cells["file_Name"].Value.ToString();
Image image;
string imagePath = Application.StartupPath;
if (strExtension == "doc" || strExtension == "docx")
{
image = Image.FromFile(imagePath + "\\Images\\FileImage\\doc.gif");
}
else if (strExtension == "txt")
{
image = Image.FromFile(imagePath + "\\Images\\FileImage\\txt.gif");
}
else if (strExtension == "xls" || strExtension == "xlsx")
{
image = Image.FromFile(imagePath + "\\Images\\FileImage\\xls.gif");
}
else
{
image = Image.FromFile(imagePath + "\\Images\\FileImage\\wz.bmp");
}
//定义显示图片的矩形
Rectangle newRect = new Rectangle(e.CellBounds.X + 2, e.CellBounds.Y + 2, e.CellBounds.Height - 6,
e.CellBounds.Height - 6);
using (Brush gridBrush = new SolidBrush(this.dgvData.GridColor))
{
using (Pen gridLinePen = new Pen(gridBrush, 2))
{
Font newFont = new Font("宋体", 9, FontStyle.Regular);//自定义字体
//判断当前行是否为选中行,如果为选中行,则要修改图片的背景色和文字的字体颜色
if (dgvData.CurrentRow.Index == e.RowIndex)
{
using (Brush backColorBrush = new SolidBrush(Color.FromArgb(051,153,255)))
{
//以背景色填充单元格
e.Graphics.FillRectangle(backColorBrush, e.CellBounds);
//画单元格的边界线
Point p1 = new Point(e.CellBounds.Left + e.CellB
在一个单元格中显示多行文字_电子/电路_工程科技_专业资料。1. 在一个单元格...DataGridView中在同一个... 暂无评价 2页 1下载券 EXCEL应用:单元格显示多.....
并且,可以让每个人的文字和图片信息与姓名单元格相关联, 通过改变该单元格中人员姓名来显示不同人员的各种信息。 本文将通过一个具体 的实例,来说明如何将图片和...
如何在Excel某一个单独的单元格中插入图片_图片/文字技巧_PPT制作技巧_实用文档。在 Excel 中插入图片相当容易,但是要对插入的图片进行精确的定位是非常麻烦的,不...
并且,可以让每个人的文字和图片信息与姓名单元格相关联,通过 改变该单元格中人员姓名来显示不同人员的各种信息。 本文将通过一个具体的实 例,来说明如何将图片和...
如何在EXCEL表格中批量插入对应图片_图片/文字技巧_PPT制作技巧_实用文档。如何在 EXCEL 表格中批量插入对应图片学生照片用身份证号命名后,核对是个麻烦事儿,有了...
怎样在excel的一个单元格里画多条斜线再输入汉字_...字后面,按 ALT+ENTER,再把 光标放到“级”字后面...如果绘 图工具栏没显示,我们就点视图-工具栏,把...
C# DataGridView 单元格内容自动匹配下拉显示 页面显示数据使用的控件是 ComponentFactory.Krypton.Toolkit 中的 Krypton DataGridView 控件。在指定“商品”单元格中需要...
DataGridViewButtonColumn 用于显示图像 该列的每个单元格中显示按钮, 将其 Use...用于在单元格中显示下拉列表, 下拉列表中可以包含如同 ComboBox 控件一样的选择...
栏中.然后选取工作表的任一 个单元格,点击一下...这样可以通过不同的名称来实现图片的自动 更新了。 ...不仅可以在表格中显示人员的各种文字资料信息,还可 ...
excel单元格中加上背景文字_图片/文字技巧_PPT制作...为满足上述要求应在一个单元格加上字段名或某些提示...

我要评论