c# - मेरे आवेदन के लिए टोस्ट स्टाइल पॉपअप




winforms (4)

Win32 में अधिसूचना गुब्बारे के लिए समर्थन है (मैं एक शुद्ध प्रोग्रामर नहीं हूं), पुरानी नई चीज के रूप में कुछ उपयोगी गुण बताते हैं

एक सिस्टम व्यापक सफ़ाफोर भी है जिसमें आपको एक बार में दिखाई देने वाले किसी भी एप्लिकेशन से एक से अधिक पॉपअप को रोकने के लिए लॉक करना चाहिए।

एमएसडीएन पर टॉस्ट सेमाफोर पर पन्ने वाले कुछ पेज हैं - टॉस्ट सेमाफोर और प्रयोज्य के व्यापक संदर्भ में । मैं कुछ उदाहरण कोड पर आया था, जबकि सी # से गुब्बारा एपीआई का इस्तेमाल करते हुए देखा था, लेकिन इसकी पुष्टि नहीं की जा सकती।

मैंने एक ऐसा अनुप्रयोग बनाया है जो टास्कबार में चलता है। जब कोई उपयोगकर्ता एप्लिकेशन पर क्लिक करता है तो वह पॉप अप आदि होता है। मुझे क्या पसंद है I msn में इसी तरह की कार्यक्षमता जब मेरे एक दोस्त लॉग इन करता है। जाहिर है यह टोस्ट पॉपअप के रूप में जानता है? मैं मूल रूप से हर 20 मिनट में टोस्ट स्टाइल fom को टास्कबार में एप्लिकेशन से पॉपअप करना चाहता हूं।

मेरा मौजूदा अनुप्रयोग winforms आधारित सी # में 3.5 के साथ लिखा है

चियर्स


यह बहुत सरल है आपको केवल स्क्रीन के क्षेत्र में खिड़की सेट करने और इसे पूरी तरह से दिखाई देने तक उसकी स्थिति को सजीव करने की आवश्यकता है। यहां एक नमूना कोड है:

public partial class Form1 : Form
{
    private Timer timer;
    private int startPosX;
    private int startPosY;

    public Form1()
    {
        InitializeComponent();
        // We want our window to be the top most
        TopMost = true;
        // Pop doesn't need to be shown in task bar
        ShowInTaskbar = false;
        // Create and run timer for animation
        timer = new Timer();
        timer.Interval = 50;
        timer.Tick += timer_Tick;
    }

    protected override void OnLoad(EventArgs e)
    {
        // Move window out of screen
        startPosX = Screen.PrimaryScreen.WorkingArea.Width - Width;
        startPosY = Screen.PrimaryScreen.WorkingArea.Height;
        SetDesktopLocation(startPosX, startPosY);
        base.OnLoad(e);
        // Begin animation
        timer.Start();
    }

    void timer_Tick(object sender, EventArgs e)
    {
        //Lift window by 5 pixels
        startPosY -= 5; 
        //If window is fully visible stop the timer
        if (startPosY < Screen.PrimaryScreen.WorkingArea.Height - Height)
            timer.Stop();
        else
           SetDesktopLocation(startPosX, startPosY);
    }
}






winforms