2009-07-06 14 views
9

एक आवश्यकता को पूरा करने के लिए मुझे 30 सेकंड के लिए मैन्युअल रूप से टूलटिप दिखाना होगा। एमएसडीएन के अनुसार मुझे बस "शो" विधि का उपयोग करना होगा।सी # टूलटिप "शो" पर दिखाई नहीं दे रहा है

toolTip.Show(QuestionHelpText, btnHelp, 30000); 

लेकिन मैं केवल मानक टूलटिप व्यवहार मिलता है, जिसका अर्थ है संदेश प्रकट होता है कि आधे सेकंड मेरी क्लिक करने के बाद (केवल क्योंकि माउस सूचक बटन पर अभी भी है)। मैंने कुछ बदलावों की कोशिश की जैसे

toolTip.Show(QuestionHelpText, btnHelp); 

लेकिन फिर भी, कुछ भी नहीं होता है।

क्या किसी को पता है कि ऐसा क्यों है?

धन्यवाद

उत्तर

12

मैं एक सरल समाधान का

एक करने के लिए सक्षम रखो पता (के नाम जाने labelHelp) अपने बटन

के पास खाली पाठ के साथ निम्नलिखित कोड

private void btnHelp_Click(object sender, EventArgs e) 
    { 
     toolTip.Show(QuestionHelpText, labelHelp, 3000); 
    } 
+0

यह लेबल पर क्यों काम करता है, लेकिन बटन पर नहीं? – lostiniceland

+6

यह किसी भी नियंत्रण के लिए काम करेगा। रोब ने सही कहा कि टूलटिप शो दिखा रहा है। इसलिए जब इसे उसी ईवेंट के ईवेंट हैंडलर (यानी btnHelp_Click के अंदर) के अंदर उपयोग किया जाता है, तो यह अपेक्षित काम नहीं करेगा। यह टूल टूलटिप को कॉल करना है। एक अलग नियंत्रण के लिए दिखाएं। अन्य वर्कअराउंड समाधान एक टाइमर होना और टूलटिप शुरू करना हो सकता है। Asyncroneosuly दिखाएं (उदाहरण के लिए btnHelp_Click में आप 0.1 सेकंड के लिए टाइमर शुरू करते हैं, और उसके बाद टूलटिप को कॉल करें। टाइमर ईवेंट में दिखाएं)। दूसरे नियंत्रण का उपयोग करना मेरे लिए सबसे आसान कामकाज जैसा दिखता है। –

+0

धन्यवाद। अब यह स्पष्ट है – lostiniceland

2

कहाँ "टूलटिप" घोषित किया जाता है?

एमएसडीएन संकेत नहीं करता है (ToolTip.Show Method documentation पर) कि शो विधि एक अवरुद्ध कॉल है, इसलिए यदि आप किसी विधि में टूलटिप घोषित कर रहे हैं और फिर विधि से बाहर निकलने के बाद बहुत अधिक सरल है तो टूलटिप दायरे से बाहर हो जाएगा , जिससे इसे प्रस्तुत या गायब नहीं किया जा सकता है।

+0

टूलटिप का उपयोग उपयोगकर्ता नियंत्रण पर किया जाता है, इसलिए प्रारंभिक के भीतर घोषित किया गया है zeComponent – lostiniceland

0

काम करना चाहिए मुझे तुम्हारी जरूरत है लगता है उपकरण टिप

संबंधित मुद्दे