كنت أقوم بعمل user control خاصه
و واجهتني مشكلة بسيطه .. هي جعل الـ user control ذات خالفية شفافه تماماً
وذلك لأجعل الأداة التي أصنعها (user control) تتأقلم مع جميع أشكال وألوان الفورم
وبعد البحث المطول في موقع الـ MSDN بموقع مايكروسوفت وجد الحل التالي شرحه
لقد وضعت لكم هذا الشرح... لكي يستفيد غيري منه.......
ملاحظه هامه : هذا الحل التالي شرحه .. يقوم بجعل الـ user control
ذات خلفية شفافه من دون أن يعتمد على لون خلفية الفورم الذي سوف تضع فيه أداتك (user control) التي تصتعها .. إنما تجعل أداتك شفافه .... شفافه
الآن شرح الخطوات :
الخطوه الأولى :
كود PHP:
protected override CreateParams CreateParams
{
get
{
CreateParams cp = ****.CreateParams;
cp.ExStyle |= 0x00000020;
return cp;
}
}
**** = بدرون مسافات b a s e
الخطوه الثانية :
كود PHP:
protected override void OnPaintBackground(PaintEventArgs e)
{
// لا تكتب شيء هنا .. اتركها فارغه
}
الخطوه الثالثة :
كود PHP:
protected void InvalidateEx()
{
if(Parent==null)
return;
Rectangle rc=new Rectangle(this.********,this.Size);
Parent.Invalidate(rc,true);
}
******** = بدون مسافات L oc ati on
الخطوه الأخيره : قم وضع اداتك التي صنعتها ...على أي فورم ... سوف تلاحظ أن اداتك أصبحت شفافه
وتأقلمت مع شكل الفورم ....
وفي النهاية أخواني الكرام ...فأتمنى أن لا تنسوني بادعاء
منقول