当前位置:  开发笔记 > 运维 > 正文

"拦截"任何工具提示appwide开放

如何解决《"拦截"任何工具提示appwide开放》经验,为你挑选了1个好方法。

我想在状态栏中显示任何控件的工具提示文本,当工具提示即将打开时.

当然,我可以尝试循环遍历主窗口的所有子控件,并将它们的ToolTipOpening事件设置为始终相同的方法.但是有更简单的方法吗?

Application.Current.AnyToolTipOpening活动一样?



1> Botz3000..:

当然,试试这个:

EventManager.RegisterClassHandler(typeof(FrameworkElement), FrameworkElement.ToolTipOpeningEvent, new ToolTipEventHandler(ToolTipHandler));

它为从FrameworkElement派生的所有类注册一个处理程序.

您的处理程序方法可能如下所示:

   private void ToolTipHandler(object sender, ToolTipEventArgs e) {
        // To stop the tooltip from appearing, mark the event as handled
        e.Handled = true; 
        FrameworkElement source = e.Source as FrameworkElement; 
        if (source != null) {
            MessageBox.Show(source.ToolTip.ToString()); // or whatever you like
        }
    }

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有