سؤال

ولدي العديد من عناصر تحكم المستخدم مرسومة على شكل، للأسف عندما يظهر شكل عناصر تحكم المستخدم رسمها تظهر الخلفية أشكال السابقة بدلا من الأشكال الخلفية الحالية.

وهذا الحدث OnPaint بسيط جدا، والحدث OnBackgroundPaint فارغ ...

ومثل هذا:

    protected override void OnPaint(PaintEventArgs pe)
    {
        pe.Graphics.DrawImageUnscaled(_bmpImage, 0, 0);            
    }

    protected override void OnPaintBackground(PaintEventArgs pevent)
    {
        //Leave empty...
    }

وكيف أحصل على خلفية الحالية لتكون الشفافية التي يتم عرضها، بدلا من خلفية النموذج السابق؟

هل كانت مفيدة؟

المحلول

وتحتاج إلى تعيين نمط الإطار - وهنا طيفة الأساسية المقالة

نصائح أخرى

ويبدو أنك تجاوز أسلوب OnPaintBackground لا تفعل أي شيء عن الخلفية. منذ كنت تركها فارغة، وربما كنت لا ينبغي تجاوز ذلك في المقام الأول. ماذا يحدث عند مجرد السماح للOnPaintBackground معالج الافتراضي تقوم بعملها؟ لا ينبغي أن يوجه تلقائيا الخلفية التحكم الحالية بشكل صحيح؟

وP.S. لقد عملت أبدا مع اللوحة المخصصة الضوابط صافي. أنا مجرد المضاربة في محاولة للمساعدة في إيجاد حل لمشكلتك. يغفر لي إذا ما أنا أقترحه هو تماما قبالة ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top