zoukankan      html  css  js  c++  java
  • Winform DataGridView 行单元格增加自定义 ToolTip

    啪!贴示例代码

    ToolTip _tip = null;
    
    public frmMain()
    {
        InitializeComponent();
        InitToolTip();
        InitDgv();
    }
    
    private void InitToolTip()
    {
        _tip = new ToolTip()
        {
            ReshowDelay = 50,
            AutoPopDelay = 10000,
        };
    }
    
    /// <summary>
    /// 初始化 dgv
    /// </summary>
    private void InitDgv()
    {
        dgvInfos.Columns.Add(new DataGridViewCheckBoxColumn() { Name = "colIsEnable", DataPropertyName = "IsEnable", HeaderText = "启用", MinimumWidth = 40, Width = 40 });
        dgvInfos.Columns.Add(new DataGridViewTextBoxColumn() { Name = "colServer", DataPropertyName = "Server", HeaderText = "服务器", AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells });
        dgvInfos.Columns.Add(new DataGridViewTextBoxColumn() { Name = "colDb", DataPropertyName = "Db", HeaderText = "数据库", AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells });
        dgvInfos.Columns.Add(new DataGridViewButtonColumn() { Name = "colBtnEdit", HeaderText = "", DefaultCellStyle = new DataGridViewCellStyle() { NullValue = "编辑", Alignment = DataGridViewContentAlignment.MiddleCenter }, MinimumWidth = 60, Width = 60 });
    
        dgvInfos.MultiSelect = false;
        dgvInfos.RowHeadersVisible = false;
        dgvInfos.ReadOnly = true;
        dgvInfos.AllowUserToResizeRows = false;
        dgvInfos.AllowUserToAddRows = false;
        dgvInfos.AutoGenerateColumns = false;
        dgvInfos.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        dgvInfos.ShowCellErrors = false;
        dgvInfos.ShowCellToolTips = false;
        dgvInfos.ShowEditingIcon = false;
        dgvInfos.ShowRowErrors = false;
    }
    
    private void dgvInfos_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex < 0)
        {
            _tip.RemoveAll();
            return;
        }
    
        try
        {
            string sColName = this.dgvInfos.Columns[e.ColumnIndex].Name;
            var info = ConfigMdl.Settings[e.RowIndex];
    
            if (sColName == "colServer")
            {
                _tip.ToolTipTitle = "数据库配置";
                _tip.SetToolTip(dgvInfos, string.Format("服务器:{0}\r\n数据库:{1}" info.Server, info.Db));
            }
            else
            {
                _tip.RemoveAll();
            }
    
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    
    private void dgvInfos_CellMouseLeave(object sender, DataGridViewCellEventArgs e)
    {
        _tip.RemoveAll();
    }
  • 相关阅读:
    Jdk 1.6 在线 API 中文版
    数据库的最简单实现
    互联网公司GitHub repo 语言使用情况
    Chrome浏览器查看 iframe信息 OpenFrame
    PostgreSQL 保存json,jsonb类型
    修改PS1变量
    postgres json
    PostgreSQL PL/Python 和 PL/Postgres 函数互相调用
    转:CentOS 6.x 挂载读写NTFS分区(fuse-ntfs-3g)
    CentOS 7 设置静态IP
  • 原文地址:https://www.cnblogs.com/seanyan/p/15748210.html
Copyright © 2011-2022 走看看