private void dataGrid1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
if(e.Button == MouseButtons.Left&&e.Clicks==2) {
System.Drawing.Point pt = new Point(e.X, e.Y);
DataGrid.HitTestInfo hti = dataGrid1.HitTest(pt);
if(hti.Type == DataGrid.HitTestType.Cell)
{
dataGrid1.CurrentCell = new DataGridCell(hti.Row, hti.Column);
dataGrid1.Select(hti.Row);
}
}
}
{
if(e.Button == MouseButtons.Left&&e.Clicks==2) {
System.Drawing.Point pt = new Point(e.X, e.Y);
DataGrid.HitTestInfo hti = dataGrid1.HitTest(pt);
if(hti.Type == DataGrid.HitTestType.Cell)
{
dataGrid1.CurrentCell = new DataGridCell(hti.Row, hti.Column);
dataGrid1.Select(hti.Row);
}
}
}
你要想在网格上触发也可以,要这样处理:
TextBox tb = ((DataGridTextBoxColumn)(this.dataGrid1.TableStyles[0].GridColumnStyles[0])).TextBox;
tb.DoubleClick+=new EventHandler(this.tb_DoubleClick);
private void tb_DoubleClick(object sender, System.EventArgs e)
{
MessageBox.Show(“”);
}
你该一下
在构造函数的初试化代码后加:
for(int i=0;i<this.dataGrid1.TableStyles[0].GridColumnStyles.Count;i++)
{
((DataGridTextBoxColumn)(this.dataGrid1.TableStyles[0].GridColumnStyles[i])).TextBox.DoubleClick+=
new EventHandler(DoubleClick);
}
在加一方法:
private void DoubleClick(object sender, System.EventArgs e)
{
this.dataGrid1.Select(this.dataGrid1.CurrentCell.RowNumber);
}
我试过了,没问题!