是否有一种方法可以全局禁用.net项目Visual Studio 2008中的工具提示。 我们已经在网络应用中实施了工具提示,但我希望将其关闭以进行测试。
答案 0 :(得分: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);
}
}
}
调用适配器的Render方法来代替它链接到的控件之一。对适配器修改工具提示后,对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中。这样可以避免在回发后持续更改(并使用无用的工具提示值阻塞视图状态)。