好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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#程序设计有所帮助。

dy("nrwz");

查看更多关于C#中datagridview使用tooltip控件显示单元格内容的方法的详细内容...

  阅读:39次