在DataGrid里面又个IsSelected的属性,如果该行被选定,则为 true;否则为 false。
MSDN的示例[C#] 
// Check if the first row is selected.
private void button8_Click(object sender, EventArgs e)
{         
   if(myDataGrid.IsSelected(0))
   {
      MessageBox.Show("Row selected",
         "Message",   MessageBoxButtons.OK,
         MessageBoxIcon.Exclamation);
   }
   else
   {
      MessageBox.Show("Row not selected",
         "Message",   MessageBoxButtons.OK,
         MessageBoxIcon.Exclamation);
   }         
}
// Deselect the first row.
private void button11_Click(object sender, EventArgs e)
{
   myDataGrid.UnSelect(0);
}

解决方案 »

  1.   

    private void SelectedRow()
    {
    CurrencyManager cm = (CurrencyManager)this.dataGrid1.BindingContext[this.dataGrid1.DataSource,this.dataGrid1.DataMember];
    DataRowView drv = (DataRowView)cm.Current;
    MessageBox.Show(drv.Row[0].ToString());
    }
      

  2.   

    private void dataGrid1_DoubleClick(object sender, System.EventArgs e)
    {
    if (dataGrid1.TableStyles[0].GridColumnStyles.Count>5 && 
    dataGrid1.TableStyles[0].GridColumnStyles[5].MappingName=="安装位置")
    {
    dataGrid1.Select(dataGrid1.CurrentRowIndex);
    string strarea=this.Text+"."+dataGrid1[dataGrid1.CurrentRowIndex,5]; }
    }