मैंने निर्माता को झूठ बोलने या छिपाने के लिए दृश्यमान और ऑनलोड ईवेंट में इसे करने की कोशिश की।
इनमें से कोई भी प्रभाव नहीं पड़ा, क्योंकि फॉर्म के निर्माण के बाद फ़ॉर्म को दृश्यमान पर सेट किया गया है और ऑनलोड ईवेंट को निकाल दिया गया है, SetVisibleCore में।
दिखाए गए कार्यक्रम कार्यों में छिपे हुए फॉर्म को सेट करना, लेकिन एक पल के लिए स्क्रीन पर फॉर्म फ़्लिकर सेट करना।
आप SetVisibleCore को ओवरराइड भी कर सकते हैं और मान को गलत पर सेट कर सकते हैं, लेकिन फिर ऑनलोड को निकाल दिया नहीं गया है और कुछ अन्य ईवेंट गड़बड़ हो गए हैं, जैसे फॉर्म क्लोजिंग।
मेरी राय में सबसे अच्छा समाधान फॉर्म को कम करने के लिए फॉर्म को सेट करना है और टास्कबार में नहीं दिखाया जाना चाहिए। Run()।
तो बजाय:
Application.Run(new MainForm());
कार्य करें:
MainForm form = new MainForm();
form.WindowState = FormWindowState.Minimized;
form.ShowInTaskbar = false;
Application.Run(form);
फिर आवेदन सभी उचित घटनाओं के साथ चलेंगे (यहां तक कि OnShown) निकाल दिया और प्रपत्र प्रदर्शित नहीं किया जाएगा।
यदि आप इसके बाद सामान्य रूप से फ़ॉर्म को छुपाने/दिखाने में सक्षम होना चाहते हैं, तो आपको विंडोस्टेट और शोइन टास्कबार को सामान्य और सत्य पर सेट करने की आवश्यकता है।
दिखाए गए ईवेंट में, आप ShownInTaskbar को वापस सत्य पर सेट कर सकते हैं और फिर फॉर्म को सही तरीके से छुपा सकते हैं।
this.Shown += new System.EventHandler(this.MainFormShown);
...
void MainFormShown(object sender, EventArgs e)
{
this.ShowInTaskbar = true;
this.Visible = false;
}
सेटिंग WindowState वापस सामान्य करने के लिए, जबकि फार्म छिपा हुआ है कोई प्रभाव नहीं है, तो आप आप फिर से रूप को दिखाने के बाद यह करने के लिए की आवश्यकता होगी, अन्यथा आइकन होगा टास्कबार में रहें लेकिन फॉर्म कम हो जाएगा।
this.Show();
this.WindowState = FormWindowState.Normal;
संभव डुप्लिकेट [this.Visible विण्डोज़ फॉर्म्स में काम नहीं कर रहा] (http कर सकते हैं: // stackoverflow। कॉम/प्रश्न/374270 9/यह-दृश्य-काम नहीं कर रहा है-विंडोज़ फॉर्म) –