मैं सोच रहा हूँ कि क्या यह स्वचालित रूप से लोड करने से मेरी मुख्य विंडो 'बंद कर देते हैं' के लिए संभव है जब मेरे कार्यक्रम एक कमांड लाइन तर्क के साथ शुरू होता बिना कार्यक्रम (अर्थात जब एक फ़ाइल नाम पारित हो जाता है)। मेरी समस्या यह है कि मेरा प्रोग्राम तब लोड होता है जब इसके साथ जुड़ी फाइल क्लिक की जाती है, लेकिन ऐसा करने के लिए एक और मुख्य विंडो खोलकर और इसका उपयोग करके ऐसा होता है। मेरी समस्या यह है कि कार्यक्रम अभी भी मेनविंडो को बाद में लॉन्च करता है, इस प्रकार दो विंडोज़ खोलता है, एक फाइल सामग्री के साथ और एक खाली है।सी # - एक खिड़की
मैं कैसे खाली विंडो रोक सकता हूं? जैसा कि मैंने इसे देखा है, मैं या तो इसे मुख्य विंडो खोलने से रोकता हूं, मुख्य विंडो बंद करता हूं या प्रोग्राम को मुख्य विंडो में फ़ाइल पास करता हूं। मेरी समस्या यह है कि मुझे नहीं पता कि इनमें से कौन सा सर्वश्रेष्ठ होगा या इसे कैसे करना है।
protected override void OnStartup(StartupEventArgs e)
{
if (e.Args != null && e.Args.Count() > 0)
{
this.Properties["ArbitraryArgName"] = e.Args[0];
}
base.OnStartup(e);
if (Application.Current.Properties["ArbitraryArgName"] != null)
{
string fname = Application.Current.Properties["ArbitraryArgName"].ToString();
MainWindow mw = new MainWindow();
mw.Show();
mw.readVcard(fname);
Application.Current.Windows.
}
}
संपादित करें:
मेरे समाधान नीचे स्थित है
इस कोड है।
कमांड लाइन तर्क पढ़ने का क्या हिस्सा है और यदि यह कुछ मूल्य है, तो मुख्य विंडो नहीं दिखाती है? –