1

好吧,这很奇怪。

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

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

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

4

2 回答 2

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;
    }
}
于 2010-04-09T13:20:46.260 回答
0

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

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

于 2009-07-29T12:54:39.053 回答