2012-04-19 29 views
19

मैं एक नया WPF आवेदन करने से कर रहा हूँ का उपयोग कर सिस्टम ट्रे में ही कम से कम करने के लिए और मैं आवेदन को कम करने में सक्षम होना चाहिए और अच्छा और सिस्टम ट्रे में सुखद है, ठीक बगल घड़ी (या उस सामान्य क्षेत्र में)।सबसे आसान तरीका एक कार्यक्रम .NET 4

यह विंडोज एक्सपी, विस्टा और 7 पर काम करने के लिए मैं Windows के पुराने संस्करणों का समर्थन की जरूरत नहीं है नहीं है।

सबसे आसान तरीका है कि अगर मैं नेट 4 का उपयोग कर रहा इस लक्ष्य को हासिल करने के लिए क्या है?

उत्तर

46

Example in MSDN forum

यहाँ एक त्वरित उदाहरण सूचना क्षेत्र को कम करने के लिए कैसे दिखाने के लिए है। आपको System.Window.Forms और System में संदर्भ जोड़ने की आवश्यकता है। असेंबली ड्रॉइंग।

public partial class Window1 : System.Windows.Window 
{ 

    public Window1() 
    { 
     InitializeComponent(); 

     System.Windows.Forms.NotifyIcon ni = new System.Windows.Forms.NotifyIcon(); 
     ni.Icon = new System.Drawing.Icon("Main.ico"); 
     ni.Visible = true; 
     ni.DoubleClick += 
      delegate(object sender, EventArgs args) 
      { 
       this.Show(); 
       this.WindowState = WindowState.Normal; 
      }; 
    } 

    protected override void OnStateChanged(EventArgs e) 
    { 
     if (WindowState == System.Windows.WindowState.Minimized) 
      this.Hide(); 

     base.OnStateChanged(e); 
    } 
} 
+0

तो मैं एक चिह्न मेरी ApplicationDirectory में "Main.ico" कहा जाता है होगा? –

+0

LeGrandMere - उत्कृष्ट succint फिक्स के लिए धन्यवाद। फ़ेलिक्स डी: आप आइकन का उपयोग कर जोड़ सकते हैं: var iconStream = application.GetResourceStream (नया उरी ("पैक: // एप्लिकेशन: ,,,/लॉन्चपैड.यूआई; घटक/छवियां/लॉन्च.को")) स्ट्रीम? फिर var ni = new NotifyIcon { आइकन = नया आइकन (आइकनस्ट्रीम), दृश्यमान = सत्य }; – yonsk

9

मैं WPF में इस नि: शुल्क सूचित आइकन कार्यान्वयन का उपयोग सफलता मिली है।

http://www.hardcodet.net/projects/wpf-notifyicon

यह बहुत सेटअप करने के लिए आसान है और स्रोत कोड प्रदान की जाती है। यह विंडोज फॉर्म पर भरोसा नहीं करता है, इसलिए यह 'शुद्ध' डब्ल्यूपीएफ और बहुत अनुकूलन योग्य है।

आप कैसे CodeProject पर इसका इस्तेमाल करने पर एक ट्यूटोरियल पा सकते हैं।

5

टूलबॉक्स से अपने एप्लिकेशन से notifyIcon जोड़ें।
अपना मुख्य form चुनें >>Properties पर जाएं >>Events आइकन का चयन करें >>FromClosing eventMainForm_FormClosing टाइप करें >> एंटर दबाएं।

enter image description here

खोला .cs फ़ाइल में घटना कार्रवाई डालें:

private void MainForm_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    this.Hide(); 
    notifyIcon.Visible = true; 
    ShowInTaskbar = false; 
    e.Cancel = true; 
} 

अब अपने मुख्य फार्म खिड़की जब आप एक्स बटन पर क्लिक करें सिस्टम ट्रे को कम से कम कर दिया जाएगा। अगला कदम वापस सामान्य स्थिति में प्राप्त करना है।
अपने notifyIcon के Properties पर जाएं >>DoubleClick event खोजें >>NotifyIcon_DoubleClick टाइप करें और आपके लिए ईवेंट फ़ंक्शन बनाया गया है।

enter image description here

आपके घटना को यह कोड डालें:

private void NotifyIcon_DoubleClick(object sender, EventArgs e) 
{ 
    this.Show(); 
    notifyIcon.Visible = false; 
} 

अब, आप बनाने के लिए फैंसी शैली में आइकन को सूचित आप संदर्भ मेनू जोड़ सकते हैं और अपने को सूचित आइकन से लिंक कर सकते चाहते हैं है, तो आप ऐसा ही कुछ मिलता है:

enter image description here

यहाँ whe है फिर आप NotifyIcon को contextMenuStrip लिंक:

enter image description here

गुड लक!

+0

ऐसा लगता है कि आप WPF के बजाय विंडोज फॉर्म का वर्णन कर रहे हैं। –