[英]C# Winforms - Display Tooltip over textbox when mouse not over it
[英]C# Display a tooltip on disabled textbox (Form)
我試圖讓工具提示在鼠標懸停期間顯示在禁用的文本框上。 我知道因為控件被禁用,以下將不起作用:
private void textBox5_MouseHover(object sender, EventArgs e)
{
// My tooltip display code here
}
如何在鼠標懸停在禁用控件上時顯示工具提示?
非常感謝
如果控制被禁用,則 MouseHover 不會觸發。 相反,您可以檢查 Form MouseMove 事件是否將鼠標懸停在文本框上
public Form1()
{
InitializeComponent();
textBox1.Enabled = false;
toolTip.InitialDelay = 0;
}
private ToolTip toolTip = new ToolTip();
private bool isShown = false;
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if(textBox1 == this.GetChildAtPoint(e.Location))
{
if(!isShown)
{
toolTip.Show("MyToolTip", this, e.Location);
isShown = true;
}
}
else
{
toolTip.Hide(textBox1);
isShown = false;
}
}
您還可以將工具提示對象從設計器中的工具箱拖動到表單上。 然后在代碼中,您只需調用 SetToolTip() 並傳入按鈕或文本框等。您希望將工具提示分配給您希望它顯示的文本。
myToolTip.SetToolTip(myTextBox, "You just hovered over myTextBox!");
遲到了,但遇到了同樣的問題並找到了更好的解決方案:您可以將 TextBox 包裝在另一個項目中並在其上放置一個工具提示,例如:
<Grid ToolTip="ToolTip to display">
<TextBox IsEnabled="False" Text="Text to display" />
</Grid>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.