【问题标题】:Sub-classing TreeView in WinForms for mouse over tool tips在 WinForms 中为鼠标悬停工具提示子类化 TreeView
【发布时间】:2009-07-29 11:28:13
【问题描述】:

好吧,这很奇怪。

TreeView 控件的预期行为是,如果 ShowNodeToolTips 设置为 false,则当树节点的标签超出控件的宽度时(或者更准确地说,它的右手边超过右手边客户区的边缘),然后在节点上方显示一个工具提示,显示整个项目的文本。

我想禁用它,因为上述语义并不总是有效,具体取决于树视图包含的内容。因此,我推出了自己的工具提示,并让工具提示能够正常工作(并且比默认提示更好!) - 但我希望能够在本机工作的情况下禁用“默认”行为。

那么,任何人都可以指出正确的方向,将哪条消息发布到 TreeView 以禁用该行为?我查看了 Windows 控件参考,但找不到任何看起来可能是它的东西。

【问题讨论】:

    标签: c# winforms treeview tooltip


    【解决方案1】:

    试试这个:

    private const int TVS_NOTOOLTIPS = 0x80;
    
    protected override System.Windows.Forms.CreateParams CreateParams
    {
        get
        {
            CreateParams p = base.CreateParams;
            p.Style = p.Style | TVS_NOTOOLTIPS;
            return p;
        }
    }
    

    【讨论】:

      【解决方案2】:

      抱歉,发现这个并没有多大帮助... http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=337872

      作为一个相当痛苦的解决方法,我唯一的建议是始终将 Text 设置为空以抑制任何工具提示,使用 TreeNode.Tag 属性来存储您要显示的节点的实际文本,以及所有者- 自己绘制该文本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-06
        • 1970-01-01
        • 2021-05-20
        • 1970-01-01
        • 1970-01-01
        • 2015-05-11
        • 1970-01-01
        • 2018-06-02
        相关资源
        最近更新 更多