2009-08-20 77 views
-1

是否有一种方法可以全局禁用.net项目中的工具提示Visual Studio 2008. 我们已经在web应用中实现了工具提示,但想要关闭它以进行测试。项目中的DIsable工具提示

回答

0

可以使用的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); 
     } 
    } 
} 

渲染适配器的方法被调用来代替它与控件的一个。调用base.Render可确保在适配器修改了工具提示后调用该控件的Render方法。

适配器有一个浏览器定义文件登记工作:

<browsers> 
    <browser refID="Default"> 
    <controlAdapters> 
     <adapter controlType="System.Web.UI.WebControls.WebControl" adapterType="Your.Namespace.ToolTipsDisablerAdapter" /> 
    </controlAdapters> 
    </browser> 
</browsers> 

的浏览器定义文件被放置在网站的App_Browsers文件目录,用一个.browser扩展。

做完这些后,您可以启用/通过设置

ToolTipsDisablerAdapter.ToolTipsDisabled = testMode; 

编辑全局禁用的工具提示:放置代码在Render方法,而不是在PreRender。这样可以避免在回发期间保持更改(并且使用无用的工具提示值堵塞视图状态)。

相关问题