当用户将鼠标悬停在CheckedListBox中的某个项目上时,是否有一种简便的方法来设置其他文本显示在工具提示中?

我希望能够在代码中执行的操作是:

uiChkLstTables.DisplayOnHoverMember = "DisplayOnHoverProperty"; //Property contains extended details

有人能指出我正确的方向吗?我已经找到了几篇文章,涉及检测鼠标当前位于哪个项目上并创建一个新的工具提示实例,但这听起来有点太虚构了,不是最好的方法。

提前致谢。

最佳答案

将一个Tooltip对象添加到您的窗体,然后为CheckedListBox.MouseHover添加一个事件处理程序,该事件处理程序调用方法ShowToolTip();。
添加CheckedListBox的MouseMove事件,该事件具有以下代码:

//Make ttIndex a global integer variable to store index of item currently showing tooltip.
//Check if current location is different from item having tooltip, if so call method
if (ttIndex != checkedListBox1.IndexFromPoint(e.Location))
                ShowToolTip();

然后创建ShowToolTip方法:
private void ShowToolTip()
    {
        ttIndex = checkedListBox1.IndexFromPoint(checkedListBox1.PointToClient(MousePosition));
        if (ttIndex > -1)
        {
            Point p = PointToClient(MousePosition);
            toolTip1.ToolTipTitle = "Tooltip Title";
            toolTip1.SetToolTip(checkedListBox1, checkedListBox1.Items[ttIndex].ToString());

        }
    }

10-07 23:11