본문 바로가기
개발언어/C#

[C#] 마우스 이동시 ListView의 item을 툴팁(tooltip)으로 보여주기

by 창용이랑 2022. 12. 22.
728x90

Listview에서 마우스 이동시 item의 이름을 툴팁(tooltip)으로 보여주고 싶어서

만들어 보았다.

 

여기 소스를 참고후

https://www.appsloveworld.com/csharp/100/1114/tooltip-flicker-when-mouse-over-on-listview-item

 

툴팁을 좌표를 마우스좌표로 설정

https://learn.microsoft.com/ko-kr/dotnet/api/system.windows.forms.tooltip.show?view=windowsdesktop-7.0

 

private System.Drawing.Point LastMousePos = new System.Drawing.Point(-1, -1);
private System.Windows.Forms.ToolTip toolTip1 = new System.Windows.Forms.ToolTip();

private void listView_Extract_MouseMove(object sender, MouseEventArgs e)
{
    if (LastMousePos == e.Location)
        return;

    ListViewItem item = listView_Extract.GetItemAt(e.X, e.Y);
    ListViewHitTestInfo info = listView_Extract.HitTest(e.X, e.Y);

    if ((item != null) && (info.SubItem != null))
    {
        LastMousePos = e.Location;
        toolTip1.Show(info.SubItem.Text, this.listView_Extract, LastMousePos.X, LastMousePos.Y);                          
    }
    else
    {
        toolTip1.Hide(this.listView_Extract);
    }
}

결과