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

Composite Control

مغلق
بدأه haosman في 8 نوفمبر 2003 · 3 رد · 950 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأفاضل

لدى مشكلة وأتمنى ان أجد الحل لدى خبراء هذا الموقع

انا بصمم Composite Control عبارة عن 3 كنترول

وأثناء قيامى بعمل الـ Properties الخاصة بالكنترول، وجدت أنه هناك Property منفصلة مثل الـ ID ويوجد Property فى صورة مجموعات مثل Style والمشكلة التى تواجهنى هى كيفية التحكم فى subproperty فى مجموعة Style على سبيل المثال، وذلك مثلا لتغيير اللون الخلفى لـ TextBox من خلال

Style>BackColor علما بأنه يوجد Property باسم BackColor للكنترول كله بشكل عام، وهذا يمنعنى من كتابة Property آخر فى نفس الـ Class

وياريت لو فى حد عنده وصلات لكتب فى المجال دة، يبقى جزاه الله خيرا

وشكرا.

#2

في الحقيقة سؤالك غير واضح،

إذا كنت تقصد أنك تريد تعمل، override للخاصية BackColor يمكنك ذلك، جرب هذا الكود وأخبرني عن النتيجة:

اقتباس
private Color myColor ;

[ Browsable( true ), Category("Appearance)] ]

new Color BackColor

{

get

{

  return this.myColor;

}

set

{

  for( int i = 0 ; i < this.Controls.Count; i++ )

  this.Controls.BackColor = value ;

  myColor = value ;

}

}

تم تعديل هذه المشاركة بواسطة BAZRAMIT في 8 نوفمبر 2003 في 14:52

#3

شكرا لمساهمتك، وأتمنى أن توضح هذه الصورة الوضع بصورة أحسن

كما ترى يوجد اتنين BackColor كيف استطيع التحكم فى BackColor الثانية واعطيها لكنترول معين.

اتمنى ان يكون الصورة أوضح الآن،

انا عملت كلاس منفصل موروث من TableItemStyle ولكنى بعد تحديد اللون أقوم بعمل بيلد وبعد ذلك يختفى اللون من اللوحة.

وشكرا مقدما على المساعدة

post-57-1068297953_thumb.jpg

تم تعديل هذه المشاركة بواسطة haosman في 8 نوفمبر 2003 في 16:29

#4

كما أشرت في رد ي السابق، لكي تقوم بعمل override للخاصية BackColor ((يجب))) أن تسبق تعريق الخاصية بكلمة"new"

public new Color BackColor

{

//Code goes on..

}

اذا لم يكن هذا ما تعني أو تريد، بإمكانك أن ترسل كود مبسط ومختصر من الـcontrol لكي نحل المشكلة.

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

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