一千萬個為什麽

搜索

如何禁用整個.net DataGridView列的工具提示

我有一個winform datagridview,其中包含一列按鈕。我想僅為該列禁用工具提示 - 工具提示仍應顯示在其他列中。我發現工具提示妨礙了點擊按鈕 - 當點擊工具提示時,點擊事件不會滲透到按鈕。很煩人。

我已經嘗試處理CellTooltipNeeded事件並為該列返回null或空字符串,但是工具提示只是恢復為在工具提示中顯示按鈕文本。我也嘗試將Column.ToolTipText設置為空字符串,並正確隱藏列標題的工具提示,但所有其他行的工具提示仍然顯示。

禁用整個列的工具提示的最佳方法是什麽?

謝謝 吉米

最佳答案

我正在尋找這個問題的答案,但所有論壇都表示不可能。但是,我確實找到了解決方案。

在DataGridView上,處理CellMouseEnter事件。在事件處理程序中, DataGridViewCellEventArgs 包含ColumnIndex屬性。用它來設置 DataGridView.ShowCellToolTips 屬性。喜歡這個(請原諒VB):

Private Sub MyDataGridView_CellMouseEnter(sender As Object, e as DataGridViewCellEventArgs) Handles DataGridView.CellMouseEnter
    MyDataGridView.ShowCellToolTips = e.ColumnIndex = <the Column # I want to show Tooltips>
End Sub

顯然,由於 DataGridViewCellEventArgs 還包含 RowIndex 屬性,因此在單元級別打開或關閉它也非常簡單。

我只是遺憾我發現一個答案後,這五年被貼!

轉載註明原文: 如何禁用整個.net DataGridView列的工具提示