c#标签显示悬停文本,但文本框不显示

时间:2013-08-23 08:57:50

标签: c# winforms textbox hover label

如果我填写一个标签文本溢出,似乎我得到一个免费的'工具提示',在标签上给出全文。 您似乎无法选择整个文本,因此我使用了禁用的文本框 - 但是在悬停功能上没有工具提示。这是因为它被禁用还是只是因为它没有提供这种功能?

西蒙

1 个答案:

答案 0 :(得分: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;