在Winform中怎么当鼠标停在DatagridView某一列上时,弹出一个悬浮框,显示行更多的信息
在线等

解决方案 »

  1.   

    效果就是tooltip那样的,但是我想在DataGridView上做,能赐教吗??
      

  2.   

    设置一个ToolTip来显示这个Cell的内容public Form1()
            {
                InitializeComponent();
                dataGridView1.Rows.Add(new object[] { "Ace", 18, 1310000000 });
                dataGridView1.MouseMove += new MouseEventHandler(dataGridView1_MouseMove);
            }private ToolTip m_ToolTip = new ToolTip();        void dataGridView1_MouseMove(object sender, MouseEventArgs e)
            {
                System.Windows.Forms.DataGridView.HitTestInfo info = dataGridView1.HitTest(e.X, e.Y);
                if (info.ColumnIndex < 0 || info.RowIndex < 0)
                    return;            DataGridViewCell cell = dataGridView1[info.ColumnIndex, info.RowIndex];
                if (cell.Value == null)
                    return;
                Point p = new Point(dataGridView1.Location.X + e.Location.X, dataGridView1.Location.Y + e.Location.Y);
                m_ToolTip.Show(cell.Value.ToString(), this, p.X, p.Y + 50);
            }
    效果图
      

  3.   

    CPU占用太恐怖,win732位
    测试,不断移动鼠标随时飙升到50%