DataGrid.GetCellBounds Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el Rectangle que especifica las cuatro esquinas de una celda.
Sobrecargas
GetCellBounds(Int32, Int32) |
Obtiene el Rectangle de la celda especificada por el número de fila y columna. |
GetCellBounds(DataGridCell) |
Obtiene el Rectangle de la celda especificada por DataGridCell. |
GetCellBounds(Int32, Int32)
Obtiene el Rectangle de la celda especificada por el número de fila y columna.
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
Parámetros
- row
- Int32
Número de la fila de la celda.
- col
- Int32
Número de la columna de la celda.
Devoluciones
Rectangle que define las esquinas de la celda actual.
Ejemplos
En el ejemplo de código siguiente se usa el GetCellBounds método para devolver un Rectangle de una celda especificada.
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
Comentarios
Para recuperar los límites de celda de la celda seleccionada actualmente, use GetCurrentCellBounds.
Consulte también
Se aplica a
GetCellBounds(DataGridCell)
Obtiene el Rectangle de la celda especificada por 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
Parámetros
- dgc
- DataGridCell
DataGridCell para buscar.
Devoluciones
Rectangle que define las esquinas de la celda actual.
Ejemplos
En el ejemplo de código siguiente se usa el GetCellBounds método para devolver un Rectangle de una celda especificada.
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