本文实例讲述了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#程序设计有所帮助。