2013-08-23 65 views
0

如果我填充標籤文本溢出似乎我得到一個免費的'工具提示',使標籤上的全文。 它沒有出現,你可以選擇整個文本,所以我使用了一個禁用的文本框 - 但沒有懸停功能的工具提示。那是因爲它的殘疾或只是它不提供這種功能?c#標籤顯示懸停文本,但文本框does not

西蒙

+0

這可能幫助:http://stackoverflow.com/questions/14695357/c-sharp-show-tooltip-on -textbox-entry – Tanner

+0

'所以我用了一個禁用的文本框......爲了什麼?文本框如何與標籤相關聯?你用它替換了標籤?你複製了文本? – DonBoitnott

回答

0

你並不需要關閉TextBox(當然我們有一些解決方案,以顯示在disabled control工具提示,但仍需要更多的代碼)。就讓它能夠正常,以防止你的TextBox從越來越集中,試試這個代碼:

public class NativeTextBox : NativeWindow 
{ 
    protected override void WndProc(ref Message m) 
    { 
     if (m.Msg == 0x201 || m.Msg == 0x204) return;//WM_LBUTTONDOWN = 0x201 , WM_RBUTTONDOWN = 0x204           
     base.WndProc(ref m); 
    } 
} 
//in your form constructor 
textBox1.TabStop = false;//This makes your textbox not be focused by KeyBoard. 
new NativeTextBox().AssignHandle(textBox1.Handle); 
ToolTip tt = new ToolTip(); 
tt.SetToolTip(textBox1, "Why can't it work?"); 
//If you don't want the Text cursor, add this to show the normal standard arrow cursor 
textBox1.Cursor = Cursors.Arrow; 
+0

非常感謝。不幸的是,即使文本框已啓用,它看起來仍然不顯示工具提示。原來它已啓用,但只有ReadOnly設置 - 無論如何,我找不到提供工具提示的組合。那麼可能只是標籤的一個功能。 –

+0

@ user1606413我不知道如何爲你的'TextBox'設置工具提示,但是我的代碼工作正常,請參閱我更新後的答案中的最後兩行。 –