經過 C1SuperTooltip控件爲 C1Flexgrid 添加自定義的單元格鼠標提示

當用戶將鼠標移動到 C1Flexgrid 單元格時,用戶能夠根據單元格的內容顯示自定義的鼠標提示內容,實現步驟以下: c#

一、在窗體上添加 .NET 標準的 ToolTip 控件,並添加 C1Flexgrid 的 MouseMove 事件。 code

二、添加後臺代碼以下: orm

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

        }

    }

運行截圖: htm

三、標準的 ToolTip 控件能夠顯示簡單的文本提示,若是你須要更爲豐富的鼠標提示,你能夠使用 C1SuperTooltip 控件,實現將 C1SuperTooltip 添加到窗體中,並在C1SupperTooltip的Images屬性中添加一個名 c1_logo.png 的圖片,如何在後臺代碼中添加如下代碼: blog

int oldrow = -1;

    int oldcolumn = -1;

    private string _tip =

        @"<table><tr>

            <td><parm><img src='res://c1-logo.png'></parm>

            <td><b><parm>SuperTooltip 功能展現</parm></b>

        </table>

        <parm><hr noshade size=1 style='margin:2' color=Darker></parm>

        <div style='margin:1 12'><parm>

            當前單元格座標: X={0}  Y={1}<br>

            當前單元格數據:{2}<br>            

        </parm></div>

        <parm><hr noshade size=1 style='margin:2' color=Darker></parm>

        <table><tr>

            <td><parm></parm>

            <td><b><parm>你還能夠設置更豐富的顯示內容!</parm></b>

        </table>";

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

        }

    }

運行截圖: 事件

源碼下載:VS2010 + C1 Studio for WinForms 2013V1 圖片

FlexGrid_DragDrop_20130620V1.zip

使用控件地址:點擊查看 ip

相關文章
相關標籤/搜索