في درس اليوم سنقوم بعمل تاثير معين على الفورم عند فتحة و إغلاقة بإستخدام لغة البرمجة سي شارب، سنستخم خاصية Top للفورم ، والتي تحدد الأزاحة العلوية للفورم بالنسبة لشاشة الكمبيوتر ، سنقوم بزيادة قيمة هذه الخاصية ، بإستخدام حلقة تكرار ،
أولاُ نقوم بكتابة الأجراء التالي :
private void SlidUp()
{
this.Top = -250;
this.Refresh();
//this.Invalidate();
int i = -200;
while(i<200)
{
this.Top = i;
i += 2;
}
}
{
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();
}
{
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;
}
}
{
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();
}
أو قوم بإستخدام التأثير التالي الذي يجعل الفورم ينزلق الى الاعلى أثناء إغلاقة :{
PopIn();
}
private void SlidDown()
{
int i = 1;
while (i < 80)
{
this.Top = this.Top - i;
this.Refresh();
i += 9;
}
}
{
int i = 1;
while (i < 80)
{
this.Top = this.Top - i;
this.Refresh();
i += 9;
}
}
يمكنك التعديل على مقدار الزيادة في حلقات التكرار ، لجعل التأثير بطيء أو سريع أثناء تطبيقه على الفورم.
ملاحظة : قد تلاحظ أن التاثير يكون سريع وقد لا يظهر التأثير بشكل جيد عند الأغلاق والفتح عندما يكون الفورم خالياً من الأدوات أو العناصر ، أما أذا كان برنامجك يحتوي على عناصر وأدوات ، ويحتوي على أكواد كبيرة ، فإن الفورم سيكون أبطئ قليلاً بسبب معالجة ، العناصر على واجهته ، ومنه ستجد ان التأثير يعمل بشكل جيد.
مشكور
ردحذفشكراً على إهتمامك
حذف