영어로 읽기

다음을 통해 공유


DataGridViewCellToolTipTextNeededEventHandler 대리자

정의

CellToolTipTextNeededDataGridView 이벤트를 처리할 메서드를 나타냅니다.

public delegate void DataGridViewCellToolTipTextNeededEventHandler(object sender, DataGridViewCellToolTipTextNeededEventArgs e);
public delegate void DataGridViewCellToolTipTextNeededEventHandler(object? sender, DataGridViewCellToolTipTextNeededEventArgs e);

매개 변수

sender
Object

이벤트 소스입니다.

예제

다음 코드 예제에서는 도구 설명을 사용하여 열의 셀 내용에 대한 추가 정보를 표시합니다 ReportsTo .

private DataTable Populate(string query, bool resetUnsharedCounter)
{
    if (resetUnsharedCounter)
    {
        ResetCounter();
    }

    // Alter the data source as necessary
    SqlDataAdapter adapter = new SqlDataAdapter(query,
        new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;" +
        "Initial Catalog=Northwind;Data Source=localhost"));

    DataTable table = new DataTable();
    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
    adapter.Fill(table);
    return table;
}

private Label count = new Label();
private int unsharedRowCounter;

private void ResetCounter()
{
    unsharedRowCounter = 0;
    count.Text = unsharedRowCounter.ToString();
}

private void dataGridView1_CellToolTipTextNeeded(object sender,
    DataGridViewCellToolTipTextNeededEventArgs e)
{

    if (theCellImHoveringOver.ColumnIndex == dataGridView1.Columns["ReportsTo"].Index &&
        theCellImHoveringOver.RowIndex > -1)
    {

        string reportsTo = dataGridView1.Rows[theCellImHoveringOver.RowIndex].
            Cells[theCellImHoveringOver.ColumnIndex].Value.ToString();

        if (String.IsNullOrEmpty(reportsTo))
        {
            e.ToolTipText = "The buck stops here!";
        }
        else
        {
            DataTable table = Populate(
                "select firstname, lastname from employees where employeeid = '" +
                dataGridView1.Rows[theCellImHoveringOver.RowIndex].
                Cells[theCellImHoveringOver.ColumnIndex].Value.ToString() +
                "'", false);

            e.ToolTipText = "Reports to " + table.Rows[0].ItemArray[0] + " " +
                table.Rows[0].ItemArray[1];
        }
    }
}

설명

CellToolTipTextNeeded 이벤트에만 발생 경우를 DataGridView 컨트롤 DataSource 속성을 설정 또는 해당 VirtualMode 속성은 true합니다.

이벤트를 처리 CellToolTipTextNeeded 할 때 처리기에서 지정한 도구 설명 텍스트는 마우스 포인터가 셀 위에 있고 컨트롤 ShowCellToolTips 속성 값이 true일 때마다 표시됩니다. 이 CellToolTipTextNeeded 이벤트는 셀의 현재 상태 또는 값에 따라 결정되는 도구 설명을 표시하려는 경우에 유용합니다.

또한 이벤트는 CellToolTipTextNeeded 속성 값 DataGridViewCell.ToolTipText 이 검색될 때마다 프로그래밍 방식으로 또는 마우스 포인터가 셀에 들어갈 때 발생합니다.

RowIndex 속성을 사용하여 DataGridViewCellEventArgs.ColumnIndex 셀의 상태 또는 값을 확인하고 이 정보를 사용하여 속성을 설정할 ToolTipText 수 있습니다. 이 속성은 이벤트 값이 재정의하는 셀 ToolTipText 속성의 값으로 초기화됩니다.

여러 셀의 CellToolTipTextNeededToolTipText 값을 설정하는 성능 저하를 방지하기 위해 대량의 데이터로 작업할 때 이벤트를 처리합니다. 자세한 내용은 Windows Forms DataGridView 컨트롤의 크기를 조정하는 최선의 방법을 참조하세요.

이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.

DataGridViewCellToolTipTextNeededEventHandler 대리자를 만들 때, 이벤트를 처리할 메서드를 식별합니다. 이벤트를 이벤트 처리기와 연결하려면 대리자의 인스턴스를 해당 이벤트에 추가합니다. 대리자를 제거하지 않는 경우 이벤트가 발생할 때마다 이벤트 처리기가 호출됩니다. 이벤트 처리기 대리자에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.

확장 메서드

GetMethodInfo(Delegate)

지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다.

적용 대상

제품 버전
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

추가 정보