.net 在项目中禁用工具提示

.net 在项目中禁用工具提示,.net,tooltip,.net,Tooltip,是否有一种方法可以全局禁用.net项目Visual studio 2008中的工具提示。 我们已经在web应用程序中实现了工具提示,但希望在测试时将其关闭。您可以使用ControlAdapter: namespace Your.Namespace { public class ToolTipsDisablerAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter { public static

是否有一种方法可以全局禁用.net项目Visual studio 2008中的工具提示。
我们已经在web应用程序中实现了工具提示,但希望在测试时将其关闭。

您可以使用ControlAdapter:

namespace Your.Namespace
{
    public class ToolTipsDisablerAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
    {
        public static bool ToolTipsDisabled { get; set; }

        protected override void Render(HtmlTextWriter writer)
        {
            if (ToolTipsDisabled && Control.ToolTip != string.Empty)
            {
                Control.ToolTip = string.Empty;
            }

            base.Render(writer);
        }
    }
}
将调用适配器的Render方法来代替它链接到的一个控件。对base.Render的调用确保在适配器修改工具提示后调用控件的Render方法

适配器必须在浏览器定义文件中注册才能工作:

<browsers>
  <browser refID="Default">
    <controlAdapters>
      <adapter controlType="System.Web.UI.WebControls.WebControl" adapterType="Your.Namespace.ToolTipsDisablerAdapter" />
    </controlAdapters>
  </browser>
</browsers>
编辑:将代码放置在渲染方法中,而不是预渲染。这样可以避免在回发中保留更改(并用无用的工具提示值阻塞viewstate)

ToolTipsDisablerAdapter.ToolTipsDisabled = testMode;