Abhinaba Basu's blog post Animation and Text in System tray using C# बताते हैं।
यह करने के लिए नीचे आता है: माउस, जिनमें से प्रत्येक एक एनीमेशन फ्रेम प्रतिनिधित्व की एक सरणी बनाने
- ।
- टाइमर घटनाओं पर ट्रे में आइकन स्विचिंग
- बिटमैप स्ट्रिप बनाएं। प्रत्येक फ्रेम है 16x16 पिक्सेल
- उपयोग SysTray.cs
उदा

private void button1_Click(object sender, System.EventArgs e)
{
m_sysTray.StopAnimation();
Bitmap bmp = new Bitmap("tick.bmp");
// the color from the left bottom pixel will be made transparent
bmp.MakeTransparent();
m_sysTray.SetAnimationClip(bmp);
m_sysTray.StartAnimation(150, 5);
}
SetAnimationClip
एनीमेशन फ्रेम
public void SetAnimationClip (Bitmap bitmapStrip)
{
m_animationIcons = new Icon[bitmapStrip.Width/16];
for (int i = 0; i < m_animationIcons.Length; i++)
{
Rectangle rect = new Rectangle(i*16, 0, 16, 16);
Bitmap bmp = bitmapStrip.Clone(rect, bitmapStrip.PixelFormat);
m_animationIcons[i] = Icon.FromHandle(bmp.GetHicon());
}
}
बनाने के लिए फ्रेम StartAnimation
एक टाइमर शुरू होता है और टाइमर में आइकन पूरे अनुक्रम चेतन करने के लिए बदल रहे हैं चेतन करने के लिए निम्नलिखित कोड का उपयोग करता है ।
public void StartAnimation(int interval, int loopCount)
{
if(m_animationIcons == null)
throw new ApplicationException("Animation clip not set with
SetAnimationClip");
m_loopCount = loopCount;
m_timer.Interval = interval;
m_timer.Start();
}
private void m_timer_Tick(object sender, EventArgs e)
{
if(m_currIndex < m_animationIcons.Length)
{
m_notifyIcon.Icon = m_animationIcons[m_currIndex];
m_currIndex++;
}
....
}
सिसट्रे
का प्रयोग बनाएँ और अपने मेनू
ContextMenu m_menu = new ContextMenu();
m_menu.MenuItems.Add(0, new MenuItem("Show",new
System.EventHandler(Show_Click)));
तार ऊपर एक आइकन आप ट्रे में स्थिर दिखाना चाहते हैं।
सभी आवश्यक जानकारी
m_sysTray = new SysTray("Right click for context menu",
new Icon(GetType(),"TrayIcon.ico"), m_menu);
एनीमेशन फ्रेम के साथ छवि स्ट्रिप्स बनाएं साथ एक systray वस्तु बनाएँ। 6 फ्रेम पट्टी के लिए छवि का संकेत है कि कितनी बार आप पाश करने के लिए एनीमेशन और फ्रेम देरी
m_sysTray.StartAnimation(150, 5);
करने के लिए की जरूरत है 16 पिक्सल
Bitmap bmp = new Bitmap("tick.bmp");
// the color from the left bottom pixel will be made transparent
bmp.MakeTransparent();
m_sysTray.SetAnimationClip(bmp);
प्रारंभ एनीमेशन के रूप में की 6 * 16 की चौड़ाई और ऊंचाई होगा एनीमेशन कॉल
m_sysTray.StopAnimation();
उस लेख पर टिप्पणियों की जांच करना सुनिश्चित करें: "मुझ पर शर्म आती है :(कोड में कई रिसाव हैं।" (http://blogs.msdn.com/b/abhinaba/archive/2005/09/12/एनीमेशन और पाठ-इन-सिस्टम-ट्रे का इस्तेमाल करने वाली-सी। aspx # 504,147) –