C#中DataGridView控件的行头显示序号的宽度适中也就是RowHearWidth属性 我想让行头显示是左对齐显示序号 100
举例*那行我想设置左对齐并且能显示序号如1~10*行属性宽度可以设置但是设置后*行里面的序号显示不出来求C#的源代码...
举例 *那行我想设置左对齐 并且能显示序号 如1~10 *行属性宽度可以设置 但是设置后*行里面的序号显示不出来 求C#的源代码
展开
3个回答
2015-07-03 · 知道合伙人软件行家
关注
展开全部
你可以重写DataGridView的OnRowPostPaint方法或者直接在DataGridView的RowPostPaint事件里写,如下(重写DataGridView的OnRowPostPaint方法)
using System;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace Test
{
class DataGridViewEx : DataGridView
{
SolidBrush solidBrush;
public DataGridViewEx()
{
solidBrush = new SolidBrush(this.RowHeadersDefaultCellStyle.ForeColor);
}
protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e)
{
e.Graphics.DrawString((e.RowIndex + 1).ToString(), e.InheritedRowStyle.Font, solidBrush, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 5);
base.OnRowPostPaint(e);
}
}
}
using System;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
namespace Test
{
class DataGridViewEx : DataGridView
{
SolidBrush solidBrush;
public DataGridViewEx()
{
solidBrush = new SolidBrush(this.RowHeadersDefaultCellStyle.ForeColor);
}
protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e)
{
e.Graphics.DrawString((e.RowIndex + 1).ToString(), e.InheritedRowStyle.Font, solidBrush, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + 5);
base.OnRowPostPaint(e);
}
}
}
展开全部
控件添加如下事件即可在*号那个位置显示序号:
//datagridview添加行号
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString();
}
至于左对齐,控件有个RowHeadersDefaultCellStyle属性,试试可行否。
追问
是这样的 我现在要做的是要把行头向左靠并且居中 我如果改宽度的话 我确实能达到向左靠齐 但是里面的序号只能显示一半 比如说我序号是1-10 我改变了宽度后只显示了1- 10就在后面没显示出来 我要做的是能让1-10全部显示出来 并且能靠左居中
追答
貌似靠不了左,因为左侧有个小三角,除非重写控件,这个就比较麻烦了。
你说的序号只能显示一半,是因为行头宽度不够,拉宽一点就可以显示全了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体做法是将DataGridView的RowsHeaderWidthSizeMode属性设置为AutoSizeToAllHeaders或者AutoSizeToDisplayedHeaders,这样自动设置宽度就不会出现行指示符挤压行号的情况了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询