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

时间:2019-10-13 01:47:36

标签: c# windows visual-studio winforms user-interface

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

1 个答案:

答案 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");
    }
相关问题