tg-me.com/CsharpWindowsForm/374
Last Update:
السلام عليكم
اعتذر على عدم إكمال بقية المواضيع بالأمس وذلك بسبب انقطاع الشبكة 😄
اليوم سنقوم بشرح الموضوع الثاني لنبدأ.
كيف تضيف خاصية جديدة او ميزة الى أداة من الأدوات
طبعاً الميزة او الخاصية الجديدة التي تريد ان تضيفها الى أداة تعتمد على تفكيرك فمثلاً
انا خطرت فكرة اني اعمل ميزة للازرار التي في الفورم ميزة انو عندما يكون مؤشر الماوس فوق الزر تتغير الايقونة وعندما يغادر مؤشر الماوس من الزر تعود الايقونة الى الايقونة السابقة
لنفرض ان معك في الفورم 4 او 5 او حتى 10 ازرار فإنك حتماً ستحتاج لكل زر دالتين دالة للحدث MouseHover ودالة للحدث mouseLeave
كود :
public Form5()
{
InitializeComponent();
}
private void button2_MouseHover(object sender, EventArgs e)
{
button2.Image = Image.FromFile(@"C:\Users\HASSAN_2\Desktop\Icon\eee.png");
}
private void button2_MouseLeave(object sender, EventArgs e)
{
button2.Image = Image.FromFile(@"C:\Users\HASSAN_2\Desktop\Icon\bb.png");
}
هل لاحظت المثال السابق سوف تقوم بتكرار نفس العملية لجميع الازرار
طريقة مملة صحيح اذاً لنبدأ بالطريقة الاحترافية
الأمثلة السابقة فقط لتوضيح الفكرة
كيف تعمل الطريقة الاحترافية
الفكرة هي انك تقوم بعمل كلاس وتقوم بالوراثة من الكلاس Button
ثم تقوم بتعريف متغيرين من نوع Image ولكل متغير خاصية get و set
ثم تقوم بإستنساخ الدوال الوهمية التالية
OnMouseHover
OnMouseLeave
ملاحظة لمن لايعرف ماذا يعني دالة ناسخة override او وهمية virtual يراجع معلوماته في الأساسيات (البرمجة الشيئية)
الكود كامل :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing;
namespace Resize_Form
{
class CustomButton:Button
{
Image normalImage;
Image hoverImage;
public Image NormalImage
{
get
{
return normalImage;
}
set
{
normalImage = value;
Image = normalImage;
}
}
public Image HoverImage
{
get
{
return hoverImage;
}
set
{
hoverImage = value;
}
}
protected override void OnMouseHover(EventArgs e)
{
Image = hoverImage;
base.OnMouseHover(e);
}
protected override void OnMouseLeave(EventArgs e)
{
Image = normalImage;
base.OnMouseLeave(e);
}
}
}
BY برمجة تطبيقات الويندوز C# Programming
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/CsharpWindowsForm/374