C#中datagridview使用tooltip控件显示单元格内容的方法

作者:aparche 时间:2022-04-15 12:23:23 

本文实例讲述了C#中datagridview使用tooltip控件显示单元格内容的方法。分享给大家供大家参考,具体如下:

代码如下:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Exam2
{
 public partial class MainForm : Form
 {
   private int cellColumnIndex = -1;//列索引
   private int cellRowIndex = -1;//行索引
   public MainForm()
   {
     InitializeComponent();
     //设置提示工具的相关属性值
     this.dgvUserInfo.ShowCellToolTips = false;
     this.toolTip.AutomaticDelay = 0;
     this.toolTip.OwnerDraw = true;
     this.toolTip.ShowAlways = true;
     this.toolTip.ToolTipTitle = " ";
     this.toolTip.UseAnimation = true;
     this.toolTip.UseFading = true;
   }
   /// <summary>
   /// 显示用户信息
   /// </summary>
   /// <param name="sender"></param>
   /// <param name="e"></param>
   private void MainForm_Load(object sender, EventArgs e)
   {
     string sql = "select 用户ID=userID,用户名=name,用户登录名=username,用户密码=userPassword from userInfo";
     SqlConnection conn = DBHelper.GetConnection();
     SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
     DataSet ds = new DataSet();
     adapter.Fill(ds);
     this.dgvUserInfo.DataSource = ds.Tables[0];
   }
   private void dgvUserInfo_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
   {
     this.toolTip.Hide(this.dgvUserInfo);//鼠标移出单元格后隐藏提示工具
   }
   private void dgvUserInfo_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
   {
     //判断选择单元格的有效性
     if (e.RowIndex < 0 || e.ColumnIndex < 0)
     {
       return;
     }
     this.toolTip.Hide(this.dgvUserInfo);
     this.cellColumnIndex = e.ColumnIndex;//获取列索引
     this.cellRowIndex = e.RowIndex;//获取行索引
     if (this.cellColumnIndex >= 0 && this.cellRowIndex >= 0)
     {
       Point mousePos = PointToClient(MousePosition);//获取鼠标当前的位置
       //获取鼠标移入的单元格中的值
       string tip = this.dgvUserInfo[this.cellColumnIndex, this.cellRowIndex].Value.ToString();
       this.toolTip.Show(tip, this.dgvUserInfo, mousePos);//在指定位置显示提示工具
     }
   }
   //绘制提示工具
   private void toolTip_Draw(object sender, DrawToolTipEventArgs e)
   {
     e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds);
     e.Graphics.DrawRectangle(Pens.Chocolate, new Rectangle(0, 0, e.Bounds.Width - 1, e.Bounds.Height - 1));
     e.Graphics.DrawString(this.toolTip.ToolTipTitle + e.ToolTipText, e.Font, Brushes.Red, e.Bounds);
   }
 }
}

希望本文所述对大家C#程序设计有所帮助。

标签:C#,datagridview,tooltip
0
投稿

猜你喜欢

  • 配置Android SDK

    2023-12-05 09:57:29
  • Java面试题冲刺第二十五天--并发编程3

    2023-09-11 04:40:10
  • ShardingSphere数据分片算法及测试实战

    2023-11-28 02:23:03
  • 详解二维码生成工厂

    2022-09-26 11:26:13
  • 解决@ConfigurationProperties注解的使用及乱码问题

    2023-09-08 06:55:10
  • 详解Java包装类及自动装箱拆箱

    2023-11-14 21:13:23
  • Android Walker登录记住密码页面功能实现

    2023-12-16 05:45:03
  • AlertDialog点击按钮不消失的实现方法

    2023-12-12 07:11:16
  • Spring5学习之基础知识总结

    2021-08-16 02:19:15
  • C#中属性和成员变量的区别说明

    2022-02-17 22:36:57
  • java 学习笔记(入门篇)_java程序helloWorld

    2023-02-28 02:53:44
  • c#委托把方法当成参数(实例讲解)

    2021-07-29 04:38:14
  • 关于android连续点击出现多个Activity界面的解决方法

    2023-03-29 12:20:43
  • c#集合快速排序类实现代码分享

    2023-03-30 13:38:51
  • SpringBoot2.3新特性优雅停机详解

    2023-11-28 07:59:43
  • 微信小程序 springboot后台如何获取用户的openid

    2023-01-13 17:07:42
  • spring mvc中的@PathVariable获得请求url中的动态参数

    2023-08-22 22:08:40
  • 多线程(多窗口卖票实例讲解)

    2021-09-02 02:47:26
  • Java实现在线聊天功能

    2021-10-18 22:16:23
  • Java实战之王者荣耀的英雄是怎么产生的?

    2021-08-25 12:35:49
  • asp之家 软件编程 m.aspxhome.com