您的位置:首页 > 其它

datagridview使用tooltip控件显示单元格内容

2015-05-06 14:04 405 查看


代码如下:

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);

        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐