你得自己写一个MyDataGridTextBoxColumn,override Edit()方法
public class MyDataGridTextBoxColumn:DataGridTextBoxColumn
{
public MyDataGridTextBoxColumn()
{
} protected override void Edit(System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string instantText, bool cellIsVisible)
{
base.Edit(source,rowNum,bounds,readOnly,instantText,cellIsVisible);
this.TextBox.Select(0,0);
}
}
public class MyDataGridTextBoxColumn:DataGridTextBoxColumn
{
public MyDataGridTextBoxColumn()
{
} protected override void Edit(System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string instantText, bool cellIsVisible)
{
base.Edit(source,rowNum,bounds,readOnly,instantText,cellIsVisible);
this.TextBox.Select(0,0);
}
}
{
Point pt = new Point(e.X,e.Y);
DataGrid.HitTestInfo hit = dataGrid1.HitTest(pt);
if(hit.Type == DataGrid.HitTestType.Cell)
{
dataGrid1.Select(hit.Row);
}
}