C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法
本文實例講述了C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法。分享給大家供大家參考,具體如下:
代碼如下:
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();
      //設(shè)置提示工具的相關(guān)屬性值
      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);//鼠標(biāo)移出單元格后隱藏提示工具
    }
    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);//獲取鼠標(biāo)當(dāng)前的位置
        //獲取鼠標(biāo)移入的單元格中的值
        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);
    }
  }
}
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計入門教程》及《C#程序設(shè)計之線程使用技巧總結(jié)》
希望本文所述對大家C#程序設(shè)計有所幫助。
上一篇:C# IsDefined的問題
欄 目:C#教程
下一篇:C# DataTable中Compute方法用法集錦(數(shù)值/字符串/運(yùn)算符/表等操作)
本文標(biāo)題:C#中datagridview使用tooltip控件顯示單元格內(nèi)容的方法
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6460.html
您可能感興趣的文章
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并打開的方法
 - 01-10C#實現(xiàn)Winform中打開網(wǎng)頁頁面的方法
 - 01-10C#實現(xiàn)由四周向中心縮小的窗體退出特效
 - 01-10Extjs4如何處理后臺json數(shù)據(jù)中日期和時間
 - 01-10C#使用Dispose模式實現(xiàn)手動對資源的釋放
 - 01-10C#3.0使用EventLog類寫Windows事件日志的方法
 - 01-10C#中DataGridView常用操作實例小結(jié)
 - 01-10C#編程獲取資源文件中圖片的方法
 - 01-10C#使用windows服務(wù)開啟應(yīng)用程序的方法
 - 01-10asp.net中XML如何做增刪改查操作
 


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
 - 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
 - 01-10WinForm限制窗體不能移到屏幕外的方法
 - 01-10WinForm繪制圓角的方法
 - 01-10C#實現(xiàn)txt定位指定行完整實例
 - 01-10WinForm實現(xiàn)仿視頻播放器左下角滾動新
 - 01-10C#停止線程的方法
 - 01-10C#實現(xiàn)清空回收站的方法
 - 01-10C#通過重寫Panel改變邊框顏色與寬度的
 - 01-10C#實現(xiàn)讀取注冊表監(jiān)控當(dāng)前操作系統(tǒng)已
 
隨機(jī)閱讀
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
 - 08-05織夢dedecms什么時候用欄目交叉功能?
 - 01-10C#中split用法實例總結(jié)
 - 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
 - 01-10使用C語言求解撲克牌的順子及n個骰子
 - 04-02jquery與jsp,用jquery
 - 08-05DEDE織夢data目錄下的sessions文件夾有什
 - 01-10delphi制作wav文件的方法
 - 01-11ajax實現(xiàn)頁面的局部加載
 - 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
 


