الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن كيفية التحويل من ال sender

مغلق
بدأه أنس العلي في 18 سبتمبر 2005 · 6 رد · 520 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أريد أن اعرف كيف يمكنني الإستفادة من sender في حدث الmouse_move حيث أنني أعلم النوع الذي سوف تمثله عند التنفيذ لكن المترجم لايقبل إستعمال خصائص ذلك النوع عند بناء المشروع

وبشكل أكثر تحديد أريد أن أستخدم خاصية الbackcolor لمرسل الحدث

ولكم جزيل الشكر

#2

ما اذكره انه من الممكن عمل casting لل sender والتحكم فى خصائصه بعد ذلك مثلاً اذا اردت تحويله لفورم والتعامل معه يمكنه تجربة التالى (طبعاً بافتراض ان ال sender عباره عن فورم)

Form frm = (Form) sender;
frm.BackColor=Color.Blue;
#3

أو يمكن ذلك مباشرة بدون تعريف متغير

((Form)sender).BackColor = Color.Blue;

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#4

السلام على من اتبع الهدى ورحمة الله وبركاته

الـ Sender هو عبارة عن Object الراسل والمنفذ لهذا الحدث الحالي فيمكنك الإستفادة منه كما قال الإخوة الأفاضل

ولكن عند عمل Cast لهذا Sender يجب يكون في الإعتبار أن تحولة إلى نفس نوع الكنترول المنفذ لهذا الحدث

فمثال بسيط إذا كان ComboBox يقوم بحدث ولنفرض ChangeItemIndex فهو يرسل Sender

فعند عمل Cast للأستفادة منه يجب تحويلة إلى نوع ComboBox ونستخدمة ويمكن تغير أي خاصية من خصائصة

وبالتالي يقوم بتغير الكنترول الأصل المنفذ للحدث .

ولا يمكننا عمل Cast وتحويلة إلى نوع آخر مثل ListBox مثلا

أرجوا أن أكون أوجزت وأفدت

وجزاكم الله خيرا

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#5

شكرا للجميع على هذا التعاون الطيب والمطمئن

لقد وجدت الحل وهو للفائدة العامة كما يلي(حيث أريد تحويل الsender إلى label)

(sender as Label)

كما أرجو منكم أن تتمو معروفكم و أن تشرحوا مفهوم الcasting

مع الشكر والدعة بإستمرار هذا النشاط الطيب في المنتدى

#6

السلام عليكم ورحمة الله وبركاته

وجزاك المثل أخي الكريم

بالنسبة لل Casting هي عملية تحويلة من نوع لآخر ، وفي الأصل هو تحويل نوع لأصله

مثال إذا كان لديك Object وهو من أصل int فيمكنك عمل له Cast إلى int

int x = 10;
object o = x;
int y = (int) o;

وهو بخلاف التحويل أي لا يمكن التحويل من نوع إلى نوع آخر لا يمكن التحويل إليه مثل وهو خاطئ

string y = (string) o;

ففي المثال السابق يجب عمل Convert وليس Cast أي يعني كما في المثال

string y = o.ToString()
OR
string y = Convert.ToString(o);

تم تعديل هذه المشاركة بواسطة Ahmed H. Alawady في 21 سبتمبر 2005 في 14:41

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#7

شكرا لك على التوضيح

وفقك الله

هذا الموضوع مغلق.

مواضيع مشابهة