मैं अपने अद्भुत समाधान को और अधिक स्पष्ट बनाने के लिए फर्मिन के उत्तर पर विस्तार करना चाहता हूं।
जिस फ़ॉर्म में आप काम कर रहे हैं (संभवतः। डिज़ाइनर सीएस फ़ाइल में) में, आपको अपने चेकडलिस्टबॉक्स में एक माउसमोव इवेंट हैंडलर जोड़ने की आवश्यकता है (फर्मिन ने मूल रूप से माउसहोवर इवेंट हैंडलर का सुझाव दिया है, लेकिन यह काम नहीं करता है मुझे)।
this.checkedListBox.MouseMove += new System.Windows.Forms.MouseEventHandler(this.showCheckBoxToolTip);
इसके बाद, दो वर्ग अपने फार्म, एक टूलटिप वस्तु और एक पूर्णांक के लिए जिम्मेदार बताते हैं पिछले चेकबॉक्स जिसका टूल टिप
private ToolTip toolTip1;
private int toolTipIndex;
अंत में
दिखाया गया था का ट्रैक रखने के जोड़ने के लिए, आप showCheckBoxToolTip लागू करने की आवश्यकता() तरीका। यह विधि फर्मिन के उत्तर के समान ही है, सिवाय इसके कि मैंने ShowToolTip() विधि के साथ ईवेंट कॉलबैक विधि को जोड़ा है। साथ ही, ध्यान दें कि विधि पैरामीटर में से एक 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());
}
}
}
स्रोत
2015-03-22 20:58:50
, ' प्वाइंट पी' लाइन आवश्यक नहीं है – Maslow