WinForms:如何在即将显示时自定义工具提示?

2023-12-15

我想为树视图中的每个项目和列表视图中的每个项目提供一个工具提示,并且为列表视图中的每个子项目(即列)提供不同的工具提示。

我可以确定我想要显示的文本(使用当前鼠标位置的命中测试等):

private void toolTip1_Popup(object sender, PopupEventArgs e)
{
   if (e.AssociatedControl == listView1)
   {
      toolTip1.SetToolTip(listView1, "foo");
   }
}

但任何设置工具提示文本的尝试都会导致堆栈溢出.

如何在工具提示(图标、标题、文本)出现之前对其进行自定义?


您需要保护您的代码Popup事件处理程序,以便如果您正在调用SetToolTip从里面,你不打电话SetToolTip again.

就像是:

private bool updatingTooltip;
private void toolTip1_Popup(object sender, PopupEventArgs e)
{   
    if (!this.updatingTooltip && (e.AssociatedControl == listView1))
    {
        this.updatingTooltip = true;
        toolTip1.SetToolTip(listView1, "foo");
        this.updatingTooltip = false;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinForms:如何在即将显示时自定义工具提示? 的相关文章

  • 在运行时向父控件添加控件

    我需要将运行时添加的控件添加到父控件 面板 我可以设置对象的属性 PictureEdit 但如何显示它 将其添加到父控件 谢谢 protected override void OnPaint PaintEventArgs pe Pictur
  • 禁用 Windows 窗体中的关闭按钮

    我在互联网上找到了这段代码 但不确定如何使用它 我还需要在工作完成后重新启用它 请帮助 Private Const CP NOCLOSE BUTTON As Integer H200 Protected Overloads Override
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • 从另一个线程调用 show 后 Windows 窗体窗体挂起

    我的应用程序有一些异步运行的网络代码 我附加了一些在没有连接到服务器时抛出的事件 并且在发生这种情况时我正在创建一些 操作失败 表单 问题是我的表单在创建后挂起 我读到了相关内容 并尝试这样做 public void ShowView if
  • 如何添加表单加载事件(目前不起作用)

    我有一个 Windows 窗体表单 我试图在表单加载时显示用户控件 不幸的是 它没有显示任何内容 我究竟做错了什么 请看下面的代码 AdministrationView wel new AdministrationView public P
  • 如何在特定时间以毫秒精度触发 C# 函数?

    我有两台计算机 它们的时间通过 NTP 同步 确保时间仅相差几毫秒 其中一台计算机将通过 TCP 向另一台计算机发送一条消息 以在两台计算机上的未来指定时间启动某个 c 函数 我的问题是 如何在特定时间以毫秒精度 或更好 触发 C 中的函数
  • C# winform 如何在按钮第二次单击时文本框变为空?

    在一个表单中 我有一个组 Box 其中包含带有 4 个选项卡的选项卡控件 在第二个选项卡中 我有一些文本框 在保存数据之前 我需要验证在这些文本框中输入的输入 请注意我的保存按钮位于最后一个选项卡中 以下测试场景有效 第一个文本框中的输入无
  • 如何在winform的中心设置控件?

    您好 我正在尝试在表单中心设置控件 即标签或文本框 当我最大化该形式时我需要这个 我可以静态或动态设置它吗 大家有什么想法请尽快告诉我 将控件放在中心并设置Anchor财产给None
  • 如何在 Windows 窗体中制作窗体模式?

    我正在尝试创建一个子表单 帮助用户在父表单中的字段中输入数据 我希望这个子表单是模态的 但是我需要做什么才能使这个表单成为模态 我需要使用其他类型的物品吗 Use Form ShowDialog http msdn microsoft co
  • DataGridView 数据绑定到 List>

    给定代码 class Foo public string Value get set public int Id get set List
  • GetCharIndexFromPosition() 获取最后一个字符

    我想获取光标下的子字符串富文本框 http msdn microsoft com en us library system windows controls richtextbox 28v vs 110 29 aspx private vo
  • WPF 中的 IWin32Window

    我有一个 excel AddIn 它公开 IWin32Window 作为它的主 UI 我想显示一个使用它作为父窗口的 WPF 窗口 我该如何去做呢 您可以使用窗口互操作助手 http msdn microsoft com en us lib
  • DataGridView 行:半透明选择或选择上的行边框

    我有一个 DataGridView 其中每行的背景根据数据绑定项而不同 但是 当我选择一行时 我无法再看到它原来的背景颜色 为了解决这个问题 我想到了两个解决方案 我可以使选择半透明 从而可以查看两个选定的行是否具有不同的背景颜色 或者 我
  • 用户无法安装单击一次应用程序

    我有一个相对简单的支持应用程序 我选择通过单击一次将其部署给我们的支持人员 我认为它仍然被称为 Click Once 我在 VS2008 中使用项目属性的发布选项卡 一些用户已成功点击该网址 下载并运行该应用程序 某一特定用户不能 他安装了
  • 如何在PropertyGrid中自定义绘制GridItem?

    我想以与所有者在 ListView 详细信息 和其他控件中绘制项目类似的方式在 PropertyGrid 中绘制属性值 如果将属性声明为 Color 类型 则其值将使用字符串描述旁边的颜色样本来绘制 如果属性是图像类型 则在字符串描述旁边绘
  • 如何在 C# 中最小化单个 Windows 应用程序表单

    我有两个表格 Form1 和 Form2 我目前在启动表单 Form1 中有一个加载 Form2 的按钮 我想要做的是让 Form1 最小化 并且仅在被告知加载时才显示 Form2 以便在显示 Form 2 时 Form1 不会在后台 到目
  • 设置引导工具提示上的箭头样式[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式设置工具提示样式 tooltip inner 但我遇到了麻烦 因为我找不到如何设置工具提示小箭头的样式 如屏幕截图所示 工具提示的箭头是黑色的 我想在其上添加新颜色 any suggesti
  • 从嵌套 ToolStripMenuItem 检索时,ContextMenuStrip.Owner 属性为 null

    我有一个ContextMenuStrip设置有两个ToolStripItem是 第二ToolStripItem有两个额外的嵌套ToolStripItems 我将其定义为 ContextMenuStrip cms new ContextMen
  • DatagridView 不显示错误图标或错误文本?

    我有一个带有 datagridview 的 win 表单 c 我将网格的数据源设置为数据表 用户想要检查数据表中的某些数据是否存在于另一个源中 因此我们循环遍历该表 将行与另一个源进行比较 并将数据表上的 rowerror 设置为一条短消息
  • 将 KeyDown 事件传递给其他控件

    我正在编写一个 C WinForms 应用程序 NET 4 0 我有一个WinFormsControl on a Form 用户开始使用键盘输入内容后 另一个Control出现 那Control是某种文本输入 我想将用户输入发送到该Cont

随机推荐

  • 在 Kivy for Python 中按下按钮时更新标签的文本

    这是我的代码 我想制作一个游戏 当您按下按钮时 main label 会更改文本 但我已经到处找了一个星期 但仍然不明白如何做到这一点 我看了Kivy的网站 但我不明白 正如你所看到的 我是 kivy 的新手 经验也不是很多 from ki
  • 为什么 ng-click 在我的指令中不起作用以及如何添加切换类?

    我在 Angular 中创建了一个指令 如下所示 angular module msfApp directive listitem function return templateUrl assets templates directive
  • 突然导入错误

    所以我在 Ubuntu 上设置了一个 virtualenv 安装了所有东西 并让开发站点运行runserver 我自己的所有单元测试都通过了 但是许多 Django 包的单元测试没有通过 所以我尝试做git bisect为了弄清楚这一点 请
  • 使用插件cached_network_image在Flutter中缓存持续时间?

    我正在使用 flutter 插件cached network image 并且想知道缓存文件的缓存持续时间是多长 另外是否有办法将缓存持续时间修改为 x 天 我还想知道的是 文件是否以原始文件格式缓存或是否进行转换 例如 HEIC gt J
  • 如何在Snow Leopard上安装lightblue(蓝牙)模块?

    我正在尝试安装蓝牙模块浅蓝色 我的系统 Mac OS X Snow Leopard 10 6 8 Python 2 7 gcc 4 2 4 0 xcode v 3 2 3 我检查过 我还在系统中的 Library Python 下直接找到了
  • 应用内计费问题

    我正在尝试在应用程序购买中实施 但几天来一直遇到问题 当用户尝试购买时 它是成功的 但应用程序给出了一个奇怪的错误 该错误显然可以追溯到操作系统构建蜂窝 该错误阻止用户收到购买 直到他们再次单击购买按钮 Steps 进行购买 购买成功 没有
  • Javascript文件上传[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 JavaScript 中有
  • getApplicationContext() 使用时抛出异常

    我已经根据现有 Android 项目中的另一个类指定了一个类 addRow 方法应该动态地将行添加到表中 当创建一个新的 TextView 添加到我的行以及创建该行时 我应该指定 上下文 当前的方式 尝试 getApplicationCon
  • 在迭代列表时修改列表 - 为什么不呢? [复制]

    这个问题在这里已经有答案了 几乎每个关于这个主题的教程和答案都坚持认为 在迭代列表时永远不应该修改列表 但如果代码有效 我不明白为什么这是一件坏事 例如 while len mylist gt 0 print mylist pop 我错过了
  • 写入 CSV 时,从 csv 值中删除“”并更改列名称

    我正在尝试从 R 表创建 csv 文件 但我无法理解为什么所有的值都会得到 当我使用 write csv 函数时用 检查 我的数据如下所示 Sample Sample Name Sample Group Pool ID Sample Pla
  • php中如何正确计算?

    total 30 nr1 13 nr2 6 nr3 3 我知道我们在学校学过 但是什么是第一个 或 或 或 括号在哪里或者我什至需要它们吗 您将括号放在应该计算的优先级上first 在数学中 它从除法 乘法 减法开始 最后是加法 因此 以下
  • 需要在设备有 WiFi/数据连接时运行服务

    上次 我使用以下代码来运行后台服务 Intent intent new Intent InitActivity this GetService class PendingIntent pintent PendingIntent getSer
  • 如何在 Windows XP 上安装 GDI+ 1.1 版?

    有人成功做到这一点吗 据我了解 GDI 1 1 仅随 Vista 一起提供 我正在尝试接触不同的效果类 我正在使用 C VS2008 VC9 根据 Windows Vista 的 EULA GDI 1 1 不可重新分发
  • 删除加法逆元对

    这个问题是基于我之前在 SO 上提出的两个问题 每个问题都比前一个更复杂 在上一篇文章中 如何识别 R 中行的镜像重复项 我想识别数据框中行的 部分 匹配 具体来说 如果数据帧中的特定行基于列子集之间的匹配在数据帧中的其他位置具有重复行 我
  • 部署到 Istio(使用 Kubernetes)的 Jhipster 无法正确加载

    我正在将 Jhipster 应用程序部署到 Kubernetes 环境 并使用 Istio 进行网络连接 下面是我的虚拟服务 请注意 当prefix被设定为 一切正常 但是 我有几个应用程序在此集群上运行 因此我需要将其映射到 mywebs
  • 如何禁用 Django 查询缓存?

    在我的 Django 应用程序中 我在数据库上重复运行相同的查询 例如每 10 秒 然后 我根据收到的查询集创建 MD5 总和 并将其与我在上次运行中创建的 MD5 总和进行比较 如果两者相等 则数据没有改变 网页不需要更新 当我这样做时
  • Linux脚本启动、停止、重新启动[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 谁能告诉我这个脚本到底做了什么 bin sh test f usr bin sshd exit 0 case 1 in start echo n Starting sshd ss
  • Java 6 的性能改进是针对 JDK、JVM 还是两者?

    我一直想知道 Java SE 6 中所吹捧的性能改进 是在编译器中还是在运行时中 换句话说 由 JDK 6 编译的 Java 5 应用程序在 JSE 5 下运行时是否会看到改进 表明编译器优化得到改进 由 JDK 5 编译的 Java 5
  • 通过 acrokey 查找字段绝对位置和尺寸

    给定一个 acrokey 是否可以找到该特定字段的绝对位置和尺寸 getLeft getTop getWidth getHeight 反之亦然是否可能 如果我知道位置 我可以获得该字段的缩写吗 你的问题的第一部分 假设您有一个AcroFie
  • WinForms:如何在即将显示时自定义工具提示?

    我想为树视图中的每个项目和列表视图中的每个项目提供一个工具提示 并且为列表视图中的每个子项目 即列 提供不同的工具提示 我可以确定我想要显示的文本 使用当前鼠标位置的命中测试等 private void toolTip1 Popup obj