CS -- GridView显示行号

来源:互联网 发布:a加b的逆矩阵等于什么 编辑:程序博客网 时间:2024/06/05 05:48

 //GridView显示行号
        private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            ShowLineNo(sender, e);
        }
        public   void ShowLineNo(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            var dgv = sender as DataGridView;
            if (dgv == null) return;

            try
            {
                var lineNo = (e.RowIndex + 1).ToString();
                var rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, dgv.RowHeadersWidth - 3, e.RowBounds.Height);

                //TextRenderer.DrawText(e.Graphics, lineNum, dgv.RowHeadersDefaultCellStyle.Font, rectangle, dgv.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right);

                using (var brush = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor))
                {
                    var format = new StringFormat { LineAlignment = StringAlignment.Center, Alignment = StringAlignment.Far };

                    e.Graphics.DrawString(lineNo, dgv.RowHeadersDefaultCellStyle.Font, brush, rectangle, format);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

原创粉丝点击