首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Winforms ToolTip获取并更改所有已分配的工具提示

问Winforms ToolTip获取并更改所有已分配的工具提示
EN

Stack Overflow用户
提问于 2015-04-24 05:28:54
回答 1查看 805关注 0票数 2

我骑自行车通过我的WinForms控件,并将它们的文本和ToolTipText交给我的翻译服务进行翻译。示例:

代码语言:javascript
复制
        foreach (ToolStripItem item in toolStrip.Items)
        {
            if (item is ToolStripMenuItem)
            {
                item.ToolTipText = Translate(item.ToolTipText);
                item.Text = Translate(item.Text);
            }
        }

但是,我不能使用WinForms ToolTip控件访问工具提示。

我看到我可以在部件上循环。我能得到和设置他们的工具提示吗?

代码语言:javascript
复制
    protected void TranslateToolTip(ToolTip toolTip)
    {
        foreach (var component in toolTip.Container.Components)
        { 
            // Doesn't work. No ToolTipText property
            component.ToolTipText = Translate(component.ToolTipText);
        }
    }

我可以直接从控件访问工具提示文本吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-24 14:31:27

要在表单中的所有组件(如button1等)上设置工具提示文本,我认为您应该使用如下内容:

代码语言:javascript
复制
foreach (var control in this.Controls) {
            ToolTip1.SetToolTip(this.control, "Your text");
        }

这是因为ToolTip没有Text属性,而且它的设置与上面的示例类似。

另见ToolTip类、ToolTip.SetToolTip法和ToolTip.GetToolTip法

或者你可以尝试这样的方法,但不确定这样做是否可行:

代码语言:javascript
复制
protected void TranslateToolTip(ToolTip toolTip)
{
    foreach (var component in toolTip.Container.Components)
    { 
        // Doesn't work. No ToolTipText property
        // component.ToolTipText = Translate(component.ToolTipText);
           toolTip.SetToolTip(component , (string)Translate(toolTip.GetToolTip(component));
    }
}

我不知道Translate(component.ToolTipText)应该返回什么。如果它只是被翻译成字符串,那么我们就不需要在前面的(string)部分了。

希望能帮上忙。

编辑:修正了第二个示例,演示如何设置和从特定控件获取工具提示文本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29839405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档