DataGrid.GetCellBounds 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取指定某单元格四个角的 Rectangle。
重载
| GetCellBounds(Int32, Int32) | 获取由行号和列号指定的单元格的 Rectangle。 | 
| GetCellBounds(DataGridCell) | 获取 Rectangle 所指定的单元格的 DataGridCell。 | 
GetCellBounds(Int32, Int32)
获取由行号和列号指定的单元格的 Rectangle。
public:
 System::Drawing::Rectangle GetCellBounds(int row, int col);public System.Drawing.Rectangle GetCellBounds (int row, int col);member this.GetCellBounds : int * int -> System.Drawing.RectanglePublic Function GetCellBounds (row As Integer, col As Integer) As Rectangle参数
- row
- Int32
单元格的行号。
- col
- Int32
单元格的列号。
返回
一个 Rectangle,它定义当前单元格的角。
示例
下面的代码示例使用 GetCellBounds 方法返回 Rectangle 指定单元格的 。
private:
   void dataGrid1_MouseDown( Object^ sender, MouseEventArgs^ e )
   {
      
      // Use the HitTest method to get a HitTestInfo object.
      System::Windows::Forms::DataGrid::HitTestInfo^ hi;
      DataGrid^ grid = dynamic_cast<DataGrid^>(sender);
      hi = grid->HitTest( e->X, e->Y );
      
      // Test if the clicked area was a cell.
      if ( hi->Type == DataGrid::HitTestType::Cell )
      {
         
         // If it's a cell, get the GridTable and CurrencyManager of the
         // clicked table.
         DataGridTableStyle^ dgt = dataGrid1->TableStyles[ 0 ];
         CurrencyManager^ myCurrencyManager = dynamic_cast<CurrencyManager^>(BindingContext[ myDataSet->Tables[ dataGrid1->DataMember ] ]);
         
         // Get the Rectangle of the clicked cell.
         Rectangle cellRect;
         cellRect = grid->GetCellBounds( hi->Row, hi->Column );
         
         // Get the clicked DataGridTextBoxColumn.
         DataGridTextBoxColumn^ gridCol = dynamic_cast<DataGridTextBoxColumn^>(dgt->GridColumnStyles[ hi->Column ]);
         
         // Insert code to edit the value.
      }
   }
private void dataGrid1_MouseDown(object sender, MouseEventArgs e){
   // Use the HitTest method to get a HitTestInfo object.
   System.Windows.Forms.DataGrid.HitTestInfo hi;   
   DataGrid grid = (DataGrid) sender;
   hi=grid.HitTest(e.X, e.Y);
   // Test if the clicked area was a cell.
   if(hi.Type==DataGrid.HitTestType.Cell ) {
      // If it's a cell, get the GridTable and CurrencyManager of the
      // clicked table.         
      DataGridTableStyle dgt = dataGrid1.TableStyles[0];     
      CurrencyManager myCurrencyManager = 
      (CurrencyManager)this.BindingContext
      [myDataSet.Tables[dataGrid1.DataMember]];
      // Get the Rectangle of the clicked cell.
      Rectangle cellRect;
      cellRect=grid.GetCellBounds(hi.Row, hi.Column);
      // Get the clicked DataGridTextBoxColumn.
      DataGridTextBoxColumn gridCol =
      (DataGridTextBoxColumn) dgt.GridColumnStyles[hi.Column];
      // Insert code to edit the value.
   }
}
    Private Sub dataGrid1_MouseDown _
(ByVal sender As Object, ByVal e As MouseEventArgs)
        ' Use the HitTest method to get a HitTestInfo object.
        Dim hi As System.Windows.Forms.DataGrid.HitTestInfo
        Dim grid As DataGrid = CType(sender, DataGrid)
        hi = grid.HitTest(e.X, e.Y)
        ' Test if the clicked area was a cell.
        If hi.Type = DataGrid.HitTestType.Cell Then
            ' If it's a cell, get the GridTable and CurrencyManager of the
            ' clicked table.         
            Dim dgt As DataGridTableStyle = dataGrid1.TableStyles(0)
            Dim myCurrencyManager As CurrencyManager = _
            CType(Me.BindingContext _
            (myDataSet.Tables(dataGrid1.DataMember)), CurrencyManager)
            ' Get the Rectangle of the clicked cell.
            Dim cellRect As Rectangle
            cellRect = grid.GetCellBounds(hi.Row, hi.Column)
            ' Get the clicked DataGridTextBoxColumn.
            Dim gridCol As DataGridTextBoxColumn = _
            CType(dgt.GridColumnStyles(hi.Column), DataGridTextBoxColumn)
            ' Insert code to dit the value.
        End If
    End Sub
注解
若要检索当前所选单元格的单元格边界,请使用 GetCurrentCellBounds。
另请参阅
适用于
GetCellBounds(DataGridCell)
获取 Rectangle 所指定的单元格的 DataGridCell。
public:
 System::Drawing::Rectangle GetCellBounds(System::Windows::Forms::DataGridCell dgc);public System.Drawing.Rectangle GetCellBounds (System.Windows.Forms.DataGridCell dgc);member this.GetCellBounds : System.Windows.Forms.DataGridCell -> System.Drawing.RectanglePublic Function GetCellBounds (dgc As DataGridCell) As Rectangle参数
- dgc
- DataGridCell
要查找的 DataGridCell。
返回
一个 Rectangle,它定义当前单元格的角。
示例
下面的代码示例使用 GetCellBounds 方法返回 Rectangle 指定单元格的 。
protected:
   DataGridCell dgc;
   void GetRect()
   {
      Rectangle rect;
      dgc.ColumnNumber = 0;
      dgc.RowNumber = 0;
      rect = dataGrid1->GetCellBounds( dgc );
      Console::WriteLine( rect );
   }
protected DataGridCell dgc;
protected void GetRect(){
    Rectangle rect;
    dgc.ColumnNumber = 0;
    dgc.RowNumber = 0;
    rect = dataGrid1.GetCellBounds(dgc);
    Console.WriteLine(rect.ToString());
 }
Private Sub GetRect()
    Dim rect As Rectangle
    Dim dgc As DataGridCell
    dgc.ColumnNumber = 0
    dgc.RowNumber = 0
    rect = DataGrid1.GetCellBounds(dgc)
    Console.WriteLine(rect.ToString())
 End Sub