C# DataGridView显示悬浮信息(二)

上次写到datagridview通过重写DataGridView的OnCellMouseEnter事件来实现内容完全显示 C# DataGridView显示悬浮信息

但发现有部分需要悬浮的信息很长,悬浮信息几秒钟之后就消失了,来不及把所有信息看完。找了很多 设置 datagridview 的tooptiptext显示时间的方式,未果。

只好考虑自己在datagridview上增加一个ToolTip,自己手工设置ToolTip来实现。具体如下
1、拖一个ToolTip到datagridview上。默认名字toolTip1。
2、在OnCellMouseEnter事件中把原来的tooltiptext显示设置成false.
3、设置tooltip1的属性

    protected override void OnCellMouseEnter(DataGridViewCellEventArgs e)
    {
        if (e.ColumnIndex < 0 || e.RowIndex < 0 || this.Rows.Count <= 0)
        {
        }
        else
        {
            this.ShowCellToolTips = false;//默认的cellTollTips没找到设置显示时间的地方,在这里屏蔽,使用一下自己加的toolTip1来设置显示
            toolTip1.AutomaticDelay = 1;
            toolTip1.AutoPopDelay = 1000 * 30;//这里貌似是 不能超过32767 Int16的最大值,否则会默认成5000
            toolTip1.UseAnimation = true;
            toolTip1.UseFading = true;
            string toolTipText = (this.Rows[e.RowIndex].Cells[e.ColumnIndex].Value ?? string.Empty).ToString();
            toolTip1.SetToolTip(this, toolTipText);
        }  
    }

这里的AutoPopDelay需要说明一下,C#的API上介绍是 :

    //
    // 摘要:
    //     获取或设置当指针在具有指定工具提示文本的控件内保持静止时,工具提示保持可见的时间期限。
    //
    // 返回结果:
    //     当指针在控件上保持静止时,System.Windows.Forms.ToolTip 保持可见的时间期限(以毫秒为单位)。默认值为 5000。

这里额外说明一下,设置长度不能超过32767,否则应该按默认的5000.所以最多也只能停留32秒。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 问题中的字符串是一种编码形式,表示的意思是“如何在 C# 中使用 DataGridView 显示数据库中的数据”。 要回答这个问题,需要了解 C#DataGridView 控件和数据库操作的基本知识。 在应用程序中,可以使用 ADO.NET 或 Entity Framework 这样的技术来连接并操作数据库,查询和读取数据,然后将数据绑定到 DataGridView 控件上进行显示。具体实现过程比较复杂,需要根据具体情况进行掌握和应用。 ### 回答2: 抱歉,由于问题缺少上下文,无法得知c指的具体是什么,所以无法回答。请提供更多信息,谢谢。 ### 回答3: C是一种强大的编程语言,被广泛应用于软件开发、系统编程、数据处理等领域。它的简洁、高效、稳定、跨平台的特点,使它成为开发人员的首选语言之一。 C语言的语法比较简单明了,易于学习。它具有很强的表达能力和良好的可读性,代码结构清晰,便于调试和维护。同时,C语言也支持底层操作,可以访问硬件资源,实现对系统的更好控制,这是其他高级编程语言无法比拟的。因此,C语言在一些对效率要求极高的场合中被广泛应用,如操作系统、网络协议、嵌入式系统等方面。 除此之外,C语言还有着众多的优点。它是一种通用语言,不仅支持面向过程的编程方式,还支持面向对象和函数式编程方式。C语言的开源代码库很丰富,有许多优秀的库和框架,可以帮助开发人员更好地完成项目。因此,学习C语言不仅能够提高编程技能,还能拓宽职业发展领域。 当然,C语言也有一些缺点。例如,由于其底层操作的特性,容易出现内存泄漏、越界访问等问题。同时,C语言在编写代码时需要编写大量许多底层代码,可能会增加编码时间。 总的来说,C语言是一种十分优秀的编程语言,具有众多的优点。对于开发人员来说,掌握C语言至关重要,可以提高自己在职场中的竞争力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祺稷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值