다음을 통해 공유


DataGrid.GetCellBounds 메서드

정의

셀의 네 모퉁이를 지정하는 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.Rectangle
Public Function GetCellBounds (row As Integer, col As Integer) As Rectangle

매개 변수

row
Int32

셀의 행 번호입니다.

col
Int32

셀의 열 번호입니다.

반환

Rectangle

현재 셀의 모퉁이를 정의하는 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.Rectangle
Public Function GetCellBounds (dgc As DataGridCell) As Rectangle

매개 변수

dgc
DataGridCell

검색할 DataGridCell입니다.

반환

Rectangle

현재 셀의 모퉁이를 정의하는 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

추가 정보

적용 대상