C# Winforms工具提示获取并更改所有指定的工具提示
我在WinForms控件上循环,并将它们的文本和ToolTipText提供给翻译服务进行翻译。 例如: 但是,我无法访问使用WinForms ToolTip控件设置的工具提示 我知道我可以在部件上循环。我可以获取并设置他们的工具提示吗C# Winforms工具提示获取并更改所有指定的工具提示,c#,winforms,tooltip,C#,Winforms,Tooltip,我在WinForms控件上循环,并将它们的文本和ToolTipText提供给翻译服务进行翻译。 例如: 但是,我无法访问使用WinForms ToolTip控件设置的工具提示 我知道我可以在部件上循环。我可以获取并设置他们的工具提示吗 protected void TranslateToolTip(ToolTip toolTip) { foreach (var component in toolTip.Container.Components) {
protected void TranslateToolTip(ToolTip toolTip)
{
foreach (var component in toolTip.Container.Components)
{
// Doesn't work. No ToolTipText property
component.ToolTipText = Translate(component.ToolTipText);
}
}
我可以直接从控件访问工具提示文本吗?要在表单中的所有组件上设置工具提示文本,如
按钮1
等。我认为您应该使用以下内容:
foreach (var control in this.Controls) {
ToolTip1.SetToolTip(this.control, "Your text");
}
这是因为工具提示没有文本属性,它的设置与上面的示例类似
另见和
或者你可以尝试类似的方法,但不确定这是否可行:
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)应该返回什么。如果它只是翻译的字符串,那么在我的示例中就不需要(字符串)
部分
希望能有帮助
编辑:修复了第二个示例,演示如何从特定控件设置和获取工具提示文本。这正是我需要的。我来测试一下,然后给你的答案打分<代码>工具提示.SetToolTip(组件,翻译(toolTip.GetToolTip(组件));
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));
}
}