如何获取工具提示控件并调用它 RemoveAll

Jiale Xue - MSFT 41,271 信誉分 Microsoft 供应商
2024-03-12T06:40:13.58+00:00

在 WinForm 中,控件中的 ToolTip 控件。不知道它是什么类型的控件 如何从控件中获取 ToolTip 控件并调用其 RemoveAll 函数。 我想在每个控件中调用“ToolTip.RemoveAll()”,但是在不更改每个控件 的情况下,我想使用反射检索的 FieldInfo 来获取 tootip,但 FieldInfo 无法调用 RemoveAll

Note:此问题总结整理于:How do I get the ToolTip control and Call it RemoveAll

Windows 窗体
Windows 窗体
一组用于开发图形用户界面的 .NET Framework 托管库。
142 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 46,961 信誉分 Microsoft 供应商
    2024-03-12T08:52:40.7933333+00:00

    欢迎来到Microsoft问答,我们可以获取表单的组件列表,然后我们可以将组件转换为工具提示类型来调用 RemoveAll 方法。

    下面是一个可以参考的代码示例。

      private void button1_Click(object sender, EventArgs e)  
            {  
                var result = EnumerateComponents();  
                foreach (var item in result)  
                {  
                    if(item is ToolTip)  
                    {  
                        ToolTip tip = (ToolTip)item;  
                        tip.RemoveAll();  
                    }  
                }  
      
            }  
      
            private void Form1_Load(object sender, EventArgs e)  
            {  
                toolTip1.SetToolTip(button1, "Save changes");  
                toolTip1.SetToolTip(checkBox1, "Please choose");  
      
            }  
      
            private IEnumerable<Component> EnumerateComponents()  
            {  
                return from field in GetType().GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)  
                       where typeof(Component).IsAssignableFrom(field.FieldType)  
                       let component = (Component)field.GetValue(this)  
                       where component != null  
                       select component;  
            }  
    
    
    

    如果答案是正确的解决方案,请单击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。

    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助