我正在开发一个具有多个选项的表单,这些表单可以模拟注册表单,并且当用户将鼠标悬停在RichTextBox
上时,我想在选项旁边的GroupBoxes
中显示一些提示和描述。
由于我是编程的新手,所以我不知道一个接一个地获取所有控件名称是否是最佳选择,因此我想在tabControl
控件内部获取控件名称用来组织一切。
private void TabControl1_MouseHover(object sender, EventArgs e)
{
foreach(Control c in this.Controls)
{
string name = c.Name;
TooltipText(name);
}
}
还有一种方法,可以编写将在RichTextBox
中显示的文本。
private string TooltipText(string name)
{
if(name == "Name:")
{
return "blabla";
}
else
{
return "none";
}
}
我尝试了一种通用方法来显示消息框,如果检测到控件,并且我怀疑没有任何显示:
private void TooltipText(string name)
{
if(name == "LBL_Name")
{
MessageBox.Show("hey");
return;
}
}
如何正确检测Groupboxes
控件内的TabControl
或其他类型的控件,并在其旁边的框中显示文本?
答案 0 :(得分:3)
您不必创建自己的工具提示。 .net WinForms提供了一个ToolTip类。 https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.tooltip?view=netframework-4.8
我在设计视图的组框中添加了2个单选按钮。 试试看。
private void Form1_Load(object sender, EventArgs e)
{
ToolTip tip = new ToolTip();
tip.AutoPopDelay = 5000;
tip.InitialDelay = 1000;
tip.ReshowDelay = 500;
tip.SetToolTip(radioButton1, "Choose to Add Onions");
tip.SetToolTip(radioButton2, "Choose to Add Pickles");
}