RT

解决方案 »

  1.   

    试试HitTest方法Private Sub myDataGrid_MouseDown(ByVal sender As Object, _
    ByVal e As MouseEventArgs) Handles myDataGrid.MouseDown
       Dim myGrid As DataGrid = CType(sender, DataGrid)
       Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
       hti = myGrid.HitTest(e.X, e.Y)
       Dim message As String = "You clicked "   Select Case hti.Type
          Case System.Windows.Forms.DataGrid.HitTestType.None
             message &= "the background."
          Case System.Windows.Forms.DataGrid.HitTestType.Cell
             message &= "cell at row " & hti.Row & ", col " & hti.Column
          Case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader
             message &= "the column header for column " & hti.Column
          Case System.Windows.Forms.DataGrid.HitTestType.RowHeader
             message &= "the row header for row " & hti.Row
          Case System.Windows.Forms.DataGrid.HitTestType.ColumnResize
             message &= "the column resizer for column " & hti.Column
          Case System.Windows.Forms.DataGrid.HitTestType.RowResize
             message &= "the row resizer for row " & hti.Row
          Case System.Windows.Forms.DataGrid.HitTestType.Caption
             message &= "the caption"
          Case System.Windows.Forms.DataGrid.HitTestType.ParentRows
             message &= "the parent row"
       End Select   messagebox.show(message)
    End Sub
      

  2.   

    private void DataGrid1_DoubleClick(object sender, System.EventArgs e)
    {
    DataRowView drv = (DataRowView)this.BindingContext[DataGrid1.DataSource,dgTasks.DataMember].Current;
    .......
    }
      

  3.   

    guoyan19811021(吉祥)  能不能在说详细点
    DataRowView drv = (DataRowView)this.BindingContext[DataGrid1.DataSource,dgTasks.DataMember].Current;
    之后怎么判断选择了当前行,谢谢