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

本文实例讲述了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#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》

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

(0)

相关推荐

  • DataGridView带图标的单元格实现代码

    目的: 扩展 C# WinForm 自带的表格控件,使其可以自动判断数据的上下界限值,并标识溢出. 这里使用的方法是:扩展 表格的列 对象:DataGridViewColumn. 1.创建类:DecimalCheckCell /// <summary> /// 可进行范围检查的 数值单元格 /// </summary> public class DecimalCheckCell : DataGridViewTextBoxCell { private bool checkMaxVal

  • DataGridView单元格显示多行的设置方法

    第一.设置RowsDefaultCellStyle的WrapMode属性值为true(表示支持多行显示) 第二.设置AllowUserToResizeColumns属性值为true(表示用户拉大行高) 第三.设置AutoSizeRowsMode属性值为AllCells(表示所有单元格自动调节单元格高度),属性值为DisplayedCells(表示当前单元格自动调节高度,可以提高性能.)

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

    本文实例讲述了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;

  • ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法

    正常的引用 复制代码 代码如下: <%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="AjaxToolKit" %><asp:TextBox ID="txtRecordTime" runat="server" cssclass="style" width

  • Asp.net的GridView控件实现单元格可编辑方便用户使用

    最近做一个功能,考虑到用户使用方便,减少弹出页面,采用点"编辑"按钮无需弹出页面直接当前行的单元格内容就能编辑.进入页面显示如下图:  点"编辑"按钮后显示如下图:  编号为1的"星期"和"是否上班"均可编辑,编辑完成后,点"更新"保存. 第一张图中的数据加载是通过下述方法实现: protectedvoid GridView_RowDataBound(object sender, GridViewRowEv

  • jquery miniui 教程 表格控件 合并单元格应用

    表格:合并单元格 参考示例:合并单元格 调用方法:margeCells.如下代码: 复制代码 代码如下: grid.on("load", onLoad); function onLoad(e) { var grid = e.sender; var marges = [ { rowIndex: 1, columnIndex: 0, rowSpan: 1, colSpan: 2 }, { rowIndex: 3, columnIndex: 0, rowSpan: 4, colSpan: 3

  • Java实现获取Excel中的表单控件

    目录 引入jar包 代码示例 Excel中可通过[开发工具]菜单栏下插入表单控件,如文本框.单选按钮.复选框.组合框等等,插入后的控件可执行设置控件格式,如大小.是否锁定.位置.可选文字.数据源区域.单元格链接等.当Excel中已插入上述控件,需要读取时,也可以使用本文中的方法来读取.下面,将通过Java代码示例展示如何来获取Excel文档中的表单控件.以下是读取的方法及步骤,供参考. 引入jar包 按照如下方法来引用Spire.Xls.jar 版本:5.1.0 方法1 将 Free Spire

  • PyQt5高级界面控件之QTableWidget的具体使用方法

    前言 QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid.QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem.用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的 QTableWidget类中的常用方法 方法 描述 setROwCount(int row) 设置QTableWidget表

  • 在ASP.NET 2.0中操作数据之五十三:在Data Web控件显示二进制数据

    导言: 在前面的教程我们阐述了应用程序处理二进制数据的2种模式,以及使用FileUpload 控件从浏览器向服务器文件系统上传文件.当文件上传并存储在文件系统里时,应在相应的数据库记录里存储该文件的存储路径. 我们先来看如何为最终用户提供二进制数据.怎样展示二进制数据呢?这取决于其类型.比如图片,我们将其显示为image:如果是PDFs,Microsoft Word文档.ZIP文件或其它类型的数据,或许提供一个"Download"链接比较妥当. 在本节,我们看如何在GridView和D

  • C# 解决datagridview控件显示大量数据拖拉卡顿问题

    问题描述: 由于在使用SQL查询大量的数据并一次显示到dataGridView控件,出现拖拉的时候卡顿. 解决方法: 1.首先分页. 2.其次把显示控件设置双buffer. 解决过程如下: 1.设置dataGridView双buffer代码如下,需要引用反射命名空间 Type dgvType = this.dataGridView1.GetType(); PropertyInfo pi = dgvType.GetProperty("DoubleBuffered", BindingFla

  • C# Winform消息通知系统托盘气泡提示框ToolTip控件

    目录 气球状提示框的介绍和系统通知变化 消息通知的提示 ShowBalloonTip()方法及指定消息类型 NotifyIcon属性设置消息 BalloonTipIcon不同的消息类型 ToolTipText属性 ToolTip提示控件显式或主动的提示消息 一个ToolTip同时为多个控件设置提示 显式设置ToolTip 气球状提示框的介绍和系统通知变化 NotifyIcon控件表示系统右下角任务栏上的托盘图标,其ShowBalloonTip方法用于显示任务栏中一定时间的具有指定标题.消息内容和

  • 详解iOS App开发中改变UIButton内部控件的基本方法

    UIButton内部默认有个UIImageView.UILabel控件,可以分别用下面属性访问: 复制代码 代码如下: @property(nonatomic,readonly,retain) UIImageView *imageView; @property(nonatomic,readonly,retain) UILabel     *titleLabel; UIButton之所以能显示文字,完全是因为它内部的titleLabel也,也就是说,UIButton的setTitle:forSta

随机推荐