DataGridView.CellMouseLeave Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre quando o ponteiro do mouse sai de uma célula.
public:
event System::Windows::Forms::DataGridViewCellEventHandler ^ CellMouseLeave;
public event System.Windows.Forms.DataGridViewCellEventHandler CellMouseLeave;
public event System.Windows.Forms.DataGridViewCellEventHandler? CellMouseLeave;
member this.CellMouseLeave : System.Windows.Forms.DataGridViewCellEventHandler
Public Custom Event CellMouseLeave As DataGridViewCellEventHandler
Tipo de evento
Exemplos
O exemplo de código a seguir mostra um CellMouseLeave manipulador de eventos em uma implementação de jogo Tic-Tac-Toe que usa colunas de imagem em um DataGridView controle . O manipulador de eventos redefine o cursor e a Dica de Ferramenta, que são definidos em um CellMouseEnter manipulador de eventos.
Esse código faz parte de um exemplo maior mostrado em Como trabalhar com colunas de imagem no controle Windows Forms DataGridView.
void dataGridView1_CellMouseEnter( Object^ sender, DataGridViewCellEventArgs^ e )
{
Bitmap^ markingUnderMouse = dynamic_cast<Bitmap^>(dataGridView1->Rows[ e->RowIndex ]->Cells[ e->ColumnIndex ]->Value);
if ( markingUnderMouse == blank )
{
dataGridView1->Cursor = Cursors::Default;
}
else
if ( markingUnderMouse == o || markingUnderMouse == x )
{
dataGridView1->Cursor = Cursors::No;
ToolTip(e,true);
}
}
void ToolTip( DataGridViewCellEventArgs^ e, bool showTip )
{
DataGridViewImageCell^ cell = dynamic_cast<DataGridViewImageCell^>(dataGridView1->Rows[ e->RowIndex ]->Cells[ e->ColumnIndex ]);
DataGridViewImageColumn^ imageColumn = dynamic_cast<DataGridViewImageColumn^>(dataGridView1->Columns[ cell->ColumnIndex ]);
if ( showTip )
cell->ToolTipText = imageColumn->Description;
else
{
cell->ToolTipText = String::Empty;
}
}
void dataGridView1_CellMouseLeave( Object^ sender, DataGridViewCellEventArgs^ e )
{
ToolTip( e, false );
dataGridView1->Cursor = Cursors::Default;
}
private void dataGridView1_CellMouseEnter(object sender,
DataGridViewCellEventArgs e)
{
Bitmap markingUnderMouse = (Bitmap)dataGridView1.
Rows[e.RowIndex].
Cells[e.ColumnIndex].Value;
if (markingUnderMouse == blank)
{
dataGridView1.Cursor = Cursors.Default;
}
else if (markingUnderMouse == o || markingUnderMouse == x)
{
dataGridView1.Cursor = Cursors.No;
ToolTip(e, true);
}
}
private void ToolTip(DataGridViewCellEventArgs e, bool showTip)
{
DataGridViewImageCell cell = (DataGridViewImageCell)
dataGridView1
.Rows[e.RowIndex].Cells[e.ColumnIndex];
DataGridViewImageColumn imageColumn =
(DataGridViewImageColumn)
dataGridView1.Columns[cell.ColumnIndex];
if (showTip)
{
cell.ToolTipText = imageColumn.Description;
}
else { cell.ToolTipText = String.Empty; }
}
private void dataGridView1_CellMouseLeave(object sender,
DataGridViewCellEventArgs e)
{
ToolTip(e, false);
dataGridView1.Cursor = Cursors.Default;
}
Private Sub dataGridView1_CellMouseEnter(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) _
Handles dataGridView1.CellMouseEnter
Dim markingUnderMouse As Bitmap = _
CType(dataGridView1.Rows(e.RowIndex). _
Cells(e.ColumnIndex).Value, Bitmap)
If markingUnderMouse Is blank Then
dataGridView1.Cursor = Cursors.Default
ElseIf markingUnderMouse Is o OrElse markingUnderMouse Is x Then
dataGridView1.Cursor = Cursors.No
ToolTip(e)
End If
End Sub
Private Sub ToolTip( _
ByVal e As DataGridViewCellEventArgs)
Dim cell As DataGridViewImageCell = _
CType(dataGridView1.Rows(e.RowIndex). _
Cells(e.ColumnIndex), DataGridViewImageCell)
Dim imageColumn As DataGridViewImageColumn = _
CType(dataGridView1.Columns(cell.ColumnIndex), _
DataGridViewImageColumn)
cell.ToolTipText = imageColumn.Description
End Sub
Private Sub dataGridView1_CellMouseLeave(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) _
Handles dataGridView1.CellMouseLeave
dataGridView1.Cursor = Cursors.Default
End Sub
Comentários
Para obter mais informações sobre como lidar com eventos, consulte Manipulando e gerando eventos.