winform中datagridview怎么添加行之后将焦点选中在新添加的行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform中datagridview怎么添加行之后将焦点选中在新添加的行?相关的知识,希望对你有一定的参考价值。

RT 新添加的一行是AAAAAAA那行,但是添加成功之后,焦点总是在DataGridView中的第一行,怎么设置为新添加的一行?删除更改同理??

参考技术A 可以设置当前选中单元格为新添加行的某个单元格
dataGridView1.CurrentCell = dataGridView1.Rows[this.dataGridView1.Rows.Count - 1].Cells[1];
currentrow没法设置值
参考技术B dataGridView1.ClearSelection();
int index=dataGridView1.Rows.Count - 1;
dataGridView1.Rows[index].Selected=true;
dataGridView1.FirstDisplayedScrollingRowIndex = index;本回答被提问者采纳

Winform 中DataGridView控件添加行标题

有很多种方法。 

1、可以在DataGridView控件中的RowStateChanged事件改变行标题单元格的值(Row.HeaderCell.Value)

1         /// <summary>
2         /// 行状态更改时发生
3         /// </summary>
4         /// <param name="sender"></param>
5         /// <param name="e"></param>
6         private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
7         {             
8    //e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1); 9 e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString();//添加行号 10 }

 

2、可以在DataGridView控件中的RowPostPaint事件例进行设置,TextRenderer类的DrawText()方法使用指定的设备上下文、字体、颜色和格式说明在指定界限中绘制指定文本。

 1         /// <summary>
 2         /// 所有单元格绘制后,执行 行绘制时发生
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
 7         {
 8             //
 9             System.Drawing.Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Y, this.dataGridView1.RowHeadersWidth - 4, this.dataGridView1.ColumnHeadersHeight);
10             TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), this.dataGridView1.RowHeadersDefaultCellStyle.Font, rectangle, this.dataGridView1.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right);//”TextFormatFlags.VerticalCenter | TextFormatFlags.Right“中“|”有增加的作用,此处添加了两种文本字符格式样式
11         }

 

以上是关于winform中datagridview怎么添加行之后将焦点选中在新添加的行?的主要内容,如果未能解决你的问题,请参考以下文章

C#中的winform 程序怎样在datagridview 动态添加按钮行

C#Winform中DataGridView往某一行新增数据

c# winform DataGridView添加一行,添加数据后,保存到数据库

C# winform程序中如何向datagridview中添加一行

Winform 中DataGridView控件添加行标题

winform 中datagridview的操作