簡體   English   中英

如何在toolstripbutton上使用工具提示

[英]How to use tooltip on toolstripbutton

我正在嘗試將工具提示應用於工具條按鈕,但它一直給我這個錯誤:

Operator '==' cannot be applied to operands of type 'System.Windows.Forms.Control' and 'System.Windows.Forms.ToolStripButton'

關於如何解決這個問題的任何線索?

更新:

private void toolTip1_Popup(object sender, PopupEventArgs e)
{
    if (e.AssociatedControl == tBtn1)
    {
        using (Font f = new Font("Tahoma", 9))
        {
            e.ToolTipSize = TextRenderer.MeasureText(
                toolTip1.GetToolTip(e.AssociatedControl), f);
        }
    }
}

ToolStripButton派生自ToolStripItem ,它具有ToolTipText屬性。

如前所述, ToolStripItem不是從Control類派生的,因此提供了自己的實現來呈現工具提示。 這篇文章可以幫助您自定義工具提示。

更新:在Winform項目中嘗試這個並且沒有成功之后,我搜索了SO上的其他線程,這可能對您有所幫助:

在非聚焦的ToolStripItem上顯示工具提示

第一個問題是你不能直接將它設置為按鈕,它不會從Control繼承,並且工具提示不會顯示,除非你已經超過了條帶而不是按鈕。

別處

我試圖做同樣的事情,並確定它將是非常具有挑戰性的,不值得。 原因是在內部,.NET代碼專門設計為僅在窗口處於活動狀態時顯示工具提示 - 它們在Win32級別檢查這一點,因此很難偽造代碼。

用戶從來沒有接受任何答案是真的,而且一眼就看出這可能是一些很少的獎勵。 這是一個從零開始的項目嗎? 如果是這樣,也許你可以使用WPF來做到這一點,它比winforms更靈活。

奇怪的是,與其他System.Windows.Forms gui組件不同, toolstripbutton類不會從Control類繼承。 也許在您的代碼中, e.AssociatedControl旨在與System.Windows.Forms控件一起使用。 簡而言之,我認為MS還沒有決定為條帶控件提供工具提示。 我不知道您的確切要求,但對於可能會點擊的替代方案,請參閱此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM