2012-01-28 10 views
8

में बटन नियंत्रण को कैसे छिपाना है क्या यहां कोई भी प्रोग्रामिंग वीबीए है?वीबीए

मैं इस कोड काम करने के लिए

Private Sub button3_click() 

    'hide main buttons 
    button1.Visible = False 
    button2.Visible = False 
    button3.Visible = False 

    'show submenu buttons 
    button4.Visible = True; 
    button5.Visible = True; 

End Sub 

क्या मैं मूल रूप से करने के लिए कोशिश कर रहा हूँ कि मैं 5 मुख्य बटन नियंत्रण है कि एक मुख्य रूप है पाने के लिए कोशिश कर रहा हूँ। उनमें से 2 स्टार्टअप पर छिपे हुए हैं। तो जब मैं बटन 3 पर क्लिक करता हूं, तो मैं पहले 3 मुख्य बटन छिपाना चाहता हूं, और अन्य दो को "अनदेखा" करना चाहता हूं। जब इस घटना पर अमल करने की कोशिश कर रहा, मैं एक त्रुटि

मिला "रनटाइम त्रुटि 2165 - आप एक नियंत्रण है कि फोकस है छिपा नहीं सकते"।

क्या कोई प्रोग्रामिंग के इस पहलू से पहले आया है? मुझे यकीन है कि यह करने योग्य है। मुझे समझ में नहीं आता कि क्या गलत हुआ ...

+0

सभी को धन्यवाद कोशिश करनी चाहिए। आपके सभी सुझावों का प्रयास किया गया है - वे काम करते हैं! मुझे सोचना चाहिए था कि इस सरल कार्यक्षमता को काम करने का एक तरीका है, अगर आप कोडिंग करते समय 'वर्ग के बाहर सोच सकते हैं'। चीयर्स। :) – awongCM

उत्तर

7

बदलें दिखाई नियंत्रण से एक के लिए ध्यान केंद्रित करने से पहले मौजूदा एक

Private Sub button3_click() 

    'show submenu buttons 
    button4.Visible = True 
    button5.Visible = True 

    DoEvents   'execute any pending events, to make sure the button 4 and 5 are really visible 
    button4.SetFocus 'change the focus to a now visible control 
    DoEvents   'execute any pending events, to make sure that button4 really has the focus 

    'now you can hide the other buttons 

    'hide main buttons 
    button1.Visible = False 
    button2.Visible = False 
    button3.Visible = False 

End Sub 

छुपा हो सकता है आप DoEvents आदेश को छोड़ सकते हैं, तो आप

1

मैंने सोचा होगा कि त्रुटि पर्याप्त स्पष्ट थी। फोकस को कुछ नियंत्रण में ले जाएं कि आप अपना कोड चलाने से पहले छिपाने की कोशिश नहीं कर रहे हैं। इसके अलावा, Me पर विचार करें:, http://msdn.microsoft.com/en-us/library/aa223099(v=office.11).aspx