我在尝试使用工具提示时遇到了困难。 我正在尝试向tabcontrol中的每个动态创建的选项卡添加带有不同文本的工具提示。 请务必注意,此选项卡是从包含tabcontrol所在的停靠表单的表单创建的。 这是一个带有停靠区域的主窗体,我在其中停靠了一个结果表单,其中包含一个 - 最初为空的 - tabcontrol。 当您启动应用程序时,此结果表单不存在,每当用户按下主表单的某些部分时,我也会动态创建它,每个部分都在结果表单tabcontrol中创建为新选项卡。
这是我生成标签的方式:
generateResultForm();
TabPage newtp = new TabPage("Nuevo paciente")
_result.TabControl.TabPages.Add(newtp);
newtp.Name = setTabName("np");
现在,我已经尝试在结果表单中添加工具提示,然后尝试首先通过添加_result.ResultsTooltip.SetToolTip(newtp, "Creación de un nuevo paciente.");
之类的内容来生成工具提示,但这不起作用。然后,因为一旦创建了选项卡,它就会被选中,我试图通过tabcontrol中selectedIndexchange事件中的WorkareaTooltip.SetToolTip(tabControl.SelectedTab, "Cosas");
之类的东西在结果类中添加它。
我认为这不是一个很好的解决方案,但我不知道还有什么可以尝试。
当然tabcontrol的ShowToolTips属性设置为true。
如果有人能帮助我那会很棒。
感谢阅读,如果有任何语言错误,请抱歉:)
// EDITED
这是我实际使用的代码(并且不起作用)
TabPage newtp = new TabPage("Nuevo paciente");
_workareaform.TabControl.TabPages.Add(newtp);
newtp.Name = "np";
var tooltip = new ToolTip();
tooltip.SetToolTip(newtp, "Creación de un nuevo paciente.");
现在,它不起作用,可能是因为整个配置。 为了清楚起见,此选项卡位于TabControl中,该控件位于另一个Form中停靠在dockContainer中的Form中。 这是一张图片。
http://i.imgur.com/fVz6e06.png
如您所见,根本没有工具提示。
答案 0 :(得分:0)
如果您正在使用其他表单,则需要引用另一种表单TabControl
在此示例中,我从Form1
创建了一个TabControl
实例(其中包含Form2
),然后添加了页面和工具提示。
private void Form2_Load(object sender, EventArgs e)
{
//instantiate another form
var f1 = new Form1();
//find tabcontrol on new form
var tc = (TabControl) f1.Controls["tabControl1"];
//create page
TabPage newtp = new TabPage("Nuevo paciente");
newtp.Name = "Paciente1";
tc.TabPages.Add(newtp);
//add tooltip
var tt1 = new ToolTip();
tt1.SetToolTip(newtp, "paciente 1 tooltip");
//show other form
f1.Show();
}
答案 1 :(得分:0)
您是否尝试过设置ToolTipText
属性,如下所示?它对我有用。
_result.TabControl.ShowToolTips = true;
TabPage newtp = new TabPage("Nuevo paciente");
_result.TabControl.TabPages.Add(newtp);
newtp.ToolTipText = "this is tooltip";