[英]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上的其他線程,這可能對您有所幫助:
第一個問題是你不能直接將它設置為按鈕,它不會從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.