كيف تضيف تأثير معين عند فتح الفورم أو إغلاقة في لغة البرمجة C#





في درس اليوم سنقوم بعمل تاثير معين على الفورم عند فتحة و إغلاقة بإستخدام لغة البرمجة سي شارب، سنستخم خاصية Top للفورم ، والتي تحدد الأزاحة العلوية للفورم بالنسبة لشاشة الكمبيوتر ، سنقوم بزيادة قيمة هذه الخاصية ، بإستخدام حلقة تكرار ،
أولاُ نقوم بكتابة الأجراء التالي :
private void SlidUp()
        {
             this.Top = -250;

             this.Refresh();
             //this.Invalidate();
             int i = -200;
             while(i<200)
         
             {
                 this.Top = i;
                 i += 2;
             }
        }


بعد كتابة الإجراء السابق ، الأن نقوم بإستدعاء هذا الإجراء ، نحن نريد أن يكون هذ التأثير عند فتح الفورم ، لذلك سنقوم بإستدعاءه في حدث Form_Load ، كالتالي:

private void Form1_Load(object sender, EventArgs e)
        {
SlidUp();
}

الآن نقوم بإضافة تأثير أخر عند إغلاق الفورم ، نكتب الإجراء الذي يعمل التأثير من خلاله، سنعتمد في هذا التأثير على خاصية العرض والطول للفورم ، لعمل التأثير ، مع خصائص ، الإزاحة اليسرى ، والإزاحة العلوية

private void PopIn()
        {

            for (int i = 0; i < (this.ClientRectangle.Height - 20); i++)
            {
                this.Width = this.Width - 25;
                this.Left = this.Left + 15;
                this.Height = this.Height - 19;
                this.Top = this.Top + 9;
            }
            for (int i = 0; i < (this.ClientRectangle.Width - 20); i++)
            {

                this.Left = this.Left + 20;

            }

        }

الآن تبقى تطبيق التأثير من خلال إستدعاء الإجراء الخاص به ، من خلال حدث Form1_FormClosing والذي ينفذ عند الضغط على زر الإغلاق في الفورم ، في هذا الحدث نكتب الكود التالي:
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            PopIn();
        }
أو قوم بإستخدام التأثير التالي الذي يجعل الفورم ينزلق الى الاعلى أثناء إغلاقة :

private void SlidDown()
        {
            int i = 1;

            while (i < 80)
            {
                this.Top = this.Top - i;

                this.Refresh();
                i += 9;


            }
        }


يمكنك التعديل على مقدار الزيادة  في حلقات التكرار ، لجعل التأثير بطيء أو سريع أثناء تطبيقه على الفورم.

ملاحظة : قد تلاحظ أن التاثير يكون سريع وقد لا يظهر التأثير بشكل جيد عند الأغلاق والفتح عندما يكون الفورم خالياً من الأدوات أو العناصر ، أما أذا كان برنامجك يحتوي على عناصر وأدوات ، ويحتوي على أكواد كبيرة ، فإن الفورم سيكون أبطئ قليلاً بسبب معالجة ، العناصر على واجهته ، ومنه ستجد ان التأثير يعمل بشكل جيد.

تعليقات

إرسال تعليق