CSHARPWINDOWSFORM Telegram 374
السلام عليكم
اعتذر على عدم إكمال بقية المواضيع بالأمس وذلك بسبب انقطاع الشبكة 😄
اليوم سنقوم بشرح الموضوع الثاني لنبدأ.
كيف تضيف خاصية جديدة او ميزة الى أداة من الأدوات
طبعاً الميزة او الخاصية الجديدة التي تريد ان تضيفها الى أداة تعتمد على تفكيرك فمثلاً
انا خطرت فكرة اني اعمل ميزة للازرار التي في الفورم ميزة انو عندما يكون مؤشر الماوس فوق الزر تتغير الايقونة وعندما يغادر مؤشر الماوس من الزر تعود الايقونة الى الايقونة السابقة
لنفرض ان معك في الفورم 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);
}
}
}
👍1



tgoop.com/CsharpWindowsForm/374
Create:
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


Share with your friend now:
tgoop.com/CsharpWindowsForm/374

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces. Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. Clear
from us


Telegram برمجة تطبيقات الويندوز C# Programming
FROM American