如何更改DataGridViewCheckBoxCell中的复选框的大小[不是单元格的大小] 我正在使用.net 3.5
答案 0 :(得分:2)
我认为你想要改变绘制的正方形的大小,将单元格放入复选框。 如果是这种情况我怀疑可能没有一个非常简单的解决方案,但你可以通过自定义绘画图像而不是“已选中”,“未选中”框来实现结果。这是一个如何解决这个问题的提示.. 在包含datagridview的表单上的图像列表中添加两个图像(您想要的大小,因为它对您来说很重要)。 (这两个图像当然对应于Checked / Unchecked复选框visual) 处理DataGridView的“CellPainting”事件并编写如下内容:
if (e.ColumnIndex == 0 && e.RowIndex >= 0)//Assuming the checkbox is in Column 0
{
e.PaintBackground(e.ClipBounds, false);
int index = 0;//Unchecked image
if (e.Value != null && (bool)e.Value == true)
index = 1;//Checked image
e.Graphics.DrawImageUnscaled(imageList1.Images[index], e.CellBounds.X + 5, e.CellBounds.Y + 5);
e.Handled = true;
}
现在,为了在单元格中获取已选中/未选中图像,您需要做的就是在CellClick事件上设置基础数据源的值(如果您希望在用户单击单元格时检查该复选框,如果它只读,则可能不需要这样做)
注意:我不确定我们是否能获得比这更优雅的解决方案,请稍等,看看是否有人有更明智的想法。