通过 C1SuperTooltip控件为 C1Flexgrid 添加自定义的单元格鼠标提示

阅读更多

当用户将鼠标移动到 C1Flexgrid 单元格时,用户可以根据单元格的内容显示自定义的鼠标提示内容,实现步骤如下:

 

1、在窗体上添加 .NET 标准的 ToolTip 控件,并添加 C1Flexgrid 的 MouseMove 事件。

 

2、添加后台代码如下:

    int oldrow = -1;

    int oldcolumn = -1;

    void c1FlexGrid1_MouseMove(object sender, MouseEventArgs e)

    {

        // 获取当前鼠标所在单元格信息

        C1.Win.C1FlexGrid.HitTestInfo hti = c1FlexGrid1.HitTest(e.X, e.Y);

        // 判断鼠标当前位置是否和上一位置有变化

        if (hti.Row == oldrow && hti.Column == oldcolumn)

        {

            return;

        }

        else

        {

            oldrow = hti.Row;

            oldcolumn = hti.Column;

        }

        // 设置 C1Flexgrid 的 ToolTip

        if ((hti.Row != -1 && hti.Column != -1) && (c1FlexGrid1[hti.Row, hti.Column] != null))

        {

            toolTip1.SetToolTip(c1FlexGrid1, c1FlexGrid1[hti.Row, hti.Column].ToString() + " + 你想要显示的内容。");

        }

        else

        {

            toolTip1.SetToolTip(c1FlexGrid1, "");

        }

    }

 

运行截图:

 

通过 C1SuperTooltip控件为 C1Flexgrid 添加自定义的单元格鼠标提示_第1张图片

 

3、标准的 ToolTip 控件可以显示简单的文本提示,如果你需要更为丰富的鼠标提示,你可以使用 C1SuperTooltip 控件,实现将 C1SuperTooltip 添加到窗体中,并在C1SupperTooltip的Images属性中添加一个名 c1_logo.png 的图片,如何在后台代码中添加以下代码:

    int oldrow = -1;

    int oldcolumn = -1;

    private string _tip =

        @"
SuperTooltip 功能展示

当前单元格坐标: X={0} Y={1}
当前单元格数据:{2}

你还可以设置更丰富的显示内容!
"; void c1FlexGrid1_MouseMove(object sender, MouseEventArgs e) { // 获取当前鼠标所在单元格信息 C1.Win.C1FlexGrid.HitTestInfo hti = c1FlexGrid1.HitTest(e.X, e.Y); // 判断鼠标当前位置是否和上一位置有变化 if (hti.Row == oldrow && hti.Column == oldcolumn) { return; } else { oldrow = hti.Row; oldcolumn = hti.Column; } // 设置 C1Flexgrid 的 ToolTip if ((hti.Row != -1 && hti.Column != -1) && (c1FlexGrid1[hti.Row, hti.Column] != null)) { //toolTip1.SetToolTip(c1FlexGrid1, c1FlexGrid1[hti.Row, hti.Column].ToString() + " + 你想要显示的内容。"); c1SuperTooltip1.SetToolTip(c1FlexGrid1, string.Format(_tip,hti.Row,hti.Column,c1FlexGrid1[hti.Row,hti.Column].ToString())); } else { //toolTip1.SetToolTip(c1FlexGrid1, ""); c1SuperTooltip1.SetToolTip(c1FlexGrid1, ""); } }

 

运行截图:

 

通过 C1SuperTooltip控件为 C1Flexgrid 添加自定义的单元格鼠标提示_第2张图片

 

源码下载:VS2010 + C1 Studio for WinForms 2013V1

FlexGrid_DragDrop_20130620V1.zip

使用控件地址:点击查看

 

你可能感兴趣的:(表格控件,报表控件,控件开发,编程)