DataGridView.CellToolTipTextNeeded Händelse

Definition

Inträffar när en cells knappbeskrivningstext behövs.

public:
 event System::Windows::Forms::DataGridViewCellToolTipTextNeededEventHandler ^ CellToolTipTextNeeded;
public event System.Windows.Forms.DataGridViewCellToolTipTextNeededEventHandler CellToolTipTextNeeded;
public event System.Windows.Forms.DataGridViewCellToolTipTextNeededEventHandler? CellToolTipTextNeeded;
member this.CellToolTipTextNeeded : System.Windows.Forms.DataGridViewCellToolTipTextNeededEventHandler 
Public Custom Event CellToolTipTextNeeded As DataGridViewCellToolTipTextNeededEventHandler 

Händelsetyp

Exempel

Följande kodexempel visar hur du använder en CellToolTipTextNeeded händelsehanterare för att visa information från dolda kolumner i en databunden DataGridView kontroll.

void dataGridView1_CellToolTipTextNeeded(object sender,
    DataGridViewCellToolTipTextNeededEventArgs e)
{
    string newLine = Environment.NewLine;
    if (e.RowIndex > -1)
    {
        DataGridViewRow dataGridViewRow1 = dataGridView1.Rows[e.RowIndex];

        // Add the employee's ID to the ToolTipText.
        e.ToolTipText = String.Format("EmployeeID {0}:{1}",
            dataGridViewRow1.Cells["EmployeeID"].Value, newLine);

        // Add the employee's name to the ToolTipText.
        e.ToolTipText += String.Format("{0} {1} {2}{3}",
            dataGridViewRow1.Cells["TitleOfCourtesy"].Value.ToString(),
            dataGridViewRow1.Cells["FirstName"].Value.ToString(),
            dataGridViewRow1.Cells["LastName"].Value.ToString(),
            newLine);

        // Add the employee's title to the ToolTipText.
        e.ToolTipText += String.Format("{0}{1}{2}",
            dataGridViewRow1.Cells["Title"].Value.ToString(),
            newLine, newLine);

        // Add the employee's contact information to the ToolTipText.
        e.ToolTipText += String.Format("{0}{1}{2}, ",
            dataGridViewRow1.Cells["Address"].Value.ToString(), newLine,
            dataGridViewRow1.Cells["City"].Value.ToString());
        if (!String.IsNullOrEmpty(
            dataGridViewRow1.Cells["Region"].Value.ToString()))
        {
            e.ToolTipText += String.Format("{0}, ",
                dataGridViewRow1.Cells["Region"].Value.ToString());
        }
        e.ToolTipText += String.Format("{0}, {1}{2}{3} EXT:{4}{5}{6}",
            dataGridViewRow1.Cells["Country"].Value.ToString(),
            dataGridViewRow1.Cells["PostalCode"].Value.ToString(),
            newLine, dataGridViewRow1.Cells["HomePhone"].Value.ToString(),
            dataGridViewRow1.Cells["Extension"].Value.ToString(),
            newLine, newLine);

        // Add employee information to the ToolTipText.
        DateTime HireDate =
            (DateTime)dataGridViewRow1.Cells["HireDate"].Value;
        e.ToolTipText +=
            String.Format("Employee since: {0}/{1}/{2}{3}Manager: {4}",
            HireDate.Month.ToString(), HireDate.Day.ToString(),
            HireDate.Year.ToString(), newLine,
            dataGridViewRow1.Cells["Manager"].Value.ToString());
    }
}
Public Sub dataGridView1_CellToolTipTextNeeded(ByVal sender As Object, _
    ByVal e As DataGridViewCellToolTipTextNeededEventArgs) _
    Handles dataGridView1.CellToolTipTextNeeded

    Dim newLine As String = Environment.NewLine
    If e.RowIndex > -1 Then
        Dim dataGridViewRow1 As DataGridViewRow = _
        dataGridView1.Rows(e.RowIndex)

        ' Add the employee's ID to the ToolTipText.
        e.ToolTipText = String.Format("EmployeeID {0}: {1}", _
            dataGridViewRow1.Cells("EmployeeID").Value.ToString(), _
            newLine)

        ' Add the employee's name to the ToolTipText.
        e.ToolTipText += String.Format("{0} {1} {2} {3}", _
            dataGridViewRow1.Cells("TitleOfCourtesy").Value.ToString(), _
            dataGridViewRow1.Cells("FirstName").Value.ToString(), _
            dataGridViewRow1.Cells("LastName").Value.ToString(), _
            newLine)

        ' Add the employee's title to the ToolTipText.
        e.ToolTipText += String.Format("{0}{1}{2}", _
            dataGridViewRow1.Cells("Title").Value.ToString(), _
            newLine, newLine)

        ' Add the employee's contact information to the ToolTipText.
        e.ToolTipText += String.Format("{0}{1}{2}, ", _
            dataGridViewRow1.Cells("Address").Value.ToString(), newLine, _
            dataGridViewRow1.Cells("City").Value.ToString())
        If Not String.IsNullOrEmpty( _
            dataGridViewRow1.Cells("Region").Value.ToString())

            e.ToolTipText += String.Format("{0}, ", _
               dataGridViewRow1.Cells("Region").Value.ToString())
        End If
        e.ToolTipText += String.Format("{0}, {1}{2}{3} EXT:{4}{5}{6}", _
            dataGridViewRow1.Cells("Country").Value.ToString(), _
            dataGridViewRow1.Cells("PostalCode").Value.ToString(), _
            newLine, _
            dataGridViewRow1.Cells("HomePhone").Value.ToString(), _
            dataGridViewRow1.Cells("Extension").Value.ToString(), _
            newLine, newLine)

        ' Add employee information to the ToolTipText.
        Dim HireDate As DateTime = _
            CType(dataGridViewRow1.Cells("HireDate").Value, DateTime)
        e.ToolTipText += _
            String.Format("Employee since: {0}/{1}/{2}{3}Manager: {4}", _
                HireDate.Month.ToString(), HireDate.Day.ToString(), _
                HireDate.Year.ToString(), newLine, _
                dataGridViewRow1.Cells("Manager").Value.ToString())
    End If
End Sub

Kommentarer

Händelsen CellToolTipTextNeeded inträffar endast när kontrollegenskapen DataGridViewDataSource har angetts eller dess VirtualMode egenskap är true.

När du hanterar CellToolTipTextNeeded händelsen visas knappbeskrivningstexten som du anger i hanteraren om ShowCellToolTips egenskapsvärdet är true och muspekaren är över cellen eller om användaren navigerar till cellen med tangentbordet. Händelsen CellToolTipTextNeeded är användbar när du vill visa Knappbeskrivningar som bestäms av aktuellt tillstånd eller värde för en cell.

Händelsen CellToolTipTextNeeded inträffar också när värdet för DataGridViewCell.ToolTipText egenskapen hämtas, antingen programmatiskt eller när användaren navigerar till cellen med musen eller tangentbordet.

Du kan använda DataGridViewCellEventArgs.ColumnIndex egenskaperna och RowIndex för att fastställa tillståndet eller värdet för en cell och använda den här informationen för att ändra eller ändra DataGridViewCellToolTipTextNeededEventArgs.ToolTipText egenskapen. Den här egenskapen initieras med värdet för cellegenskapen ToolTipText , som händelsevärdet åsidosätter.

Hantera händelsen CellToolTipTextNeeded när du arbetar med stora mängder data för att undvika prestandapåföljderna för att ange cellvärdet ToolTipText för flera celler. Mer information finns i Best Practices for Scaling the Windows Forms DataGridView Control.

Mer information om hur du hanterar händelser finns i Hantera och höja händelser.

Gäller för

Se även