获取控件名称/显示工具提示文本

问题描述 投票:1回答:1

我正在开发具有多个选项的表单,这些表单可以模拟注册表单,并且当用户将鼠标悬停在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或其他类型的控件,并在其旁边的框中显示文本?

c# windows visual-studio winforms user-interface
1个回答
0
投票

您不必创建自己的工具提示。 .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");
    }
© www.soinside.com 2019 - 2024. All rights reserved.