我想擴大弗明的答案,以便可能使他的美妙的解決方案稍微更清晰。
在您工作的表單中(很可能在.Designer.cs文件中),您需要向您的CheckedListBox添加一個MouseMove事件處理程序(Fermin最初建議使用MouseHover事件處理程序,但這不適用於我)。
this.checkedListBox.MouseMove += new System.Windows.Forms.MouseEventHandler(this.showCheckBoxToolTip);
接着,添加兩個類屬性到表單,工具提示對象和整數跟蹤過去的複選框,其刀尖被證明
private ToolTip toolTip1;
private int toolTipIndex;
最後,你需要實現showCheckBoxToolTip () 方法。除了我將事件回調方法與ShowToolTip()方法相結合之外,此方法與Fermin的答案非常相似。另請注意,其中一個方法參數是MouseEventArgs。這是因爲MouseMove屬性需要一個MouseEventHandler,然後提供MouseEventArgs。
private void showCheckBoxToolTip(object sender, MouseEventArgs e)
{
if (toolTipIndex != this.checkedListBox.IndexFromPoint(e.Location))
{
toolTipIndex = checkedListBox.IndexFromPoint(checkedListBox.PointToClient(MousePosition));
if (toolTipIndex > -1)
{
toolTip1.SetToolTip(checkedListBox, checkedListBox.Items[toolTipIndex].ToString());
}
}
}
的`點p`線不是必需的 – Maslow 2014-09-25 17:23:06