本文实例讲述了C#中datagridview使用tooltip控件显示单元格内容的方法。分享给大家供大家参考,具体如下:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
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#程序设计有所帮助。