هل يمكنني إنشاء أزرار شفافة في Visual Studio 2005 مع C #

لدي واجهة مستخدم تتطلب وضع بعض الأزرار الدائرية في مشروع C# مع وجود بعض البيانات خلفها. الأزرار هي System.Windows.Forms.buttons ولقد استخدمت صورة GIF مع الشفافية لإنشائها. ومع ذلك ، فإن المناطق الشفافة ليست شفافة. لقد بحثت عن المراجع عبر الإنترنت ولكن لم أجد أي اقتراحات لكيفية القيام بذلك بشكل صحيح. هناك بعض الإشارة إلى القيام بها في Visual Studio 2008 ، لكني بحاجة للحفاظ على هذا المشروع في عام 2005. أي مساعدة أو اقتراح هو موضع تقدير.

6

4 إجابة

أنا متأكد من أنك تحتاج إلى استخدام PNGs مع WinForms للحصول على شفافية الصورة. أنا أعلم أنني استخدمتها بنجاح.

EDIT: عندما استخدمت PNGs ، كنت أغطيها باستخدام عنصر تحكم Image في Form1.BackgroundImage ؛ لم أكن استخدمهم في الأزرار.

أعتقد أن أفضل رهان هو التبديل من استخدام عنصر تحكم زر إلى استخدام عنصر تحكم الصورة. يمكنك أيضًا محاولة تغيير نمط الزر إلى مسطح (أعتقد أنه كان مسطحًا ، وربما أحد الأنماط الأخرى) ومعرفة ما إذا كان يمكنك الحصول على التأثير الذي تريده بهذه الطريقة.

1
وأضاف
شكرا ، أمفان. سأرى ما إذا كان يمكنني الحصول على هذا للعمل.
وأضاف المؤلف Sean, مصدر

جرب هذا:

        Bitmap temp = new Bitmap(button1.Image);

        temp.MakeTransparent(Color.Black); //your transparent color, in this case black

        button1.Image = (Image) Logo;

        temp.Dispose();

        temp = null;
1
وأضاف

Just set the Button's FlatStyle property to "Flat"…and voilà! I know this works with PNGs, but I haven't tested it with GIFs.

1
وأضاف

يتم التحقق من الإجابة التالية في Visual Studio 2012 ويعمل مع تنسيق backgroundImage BMP و GIF و PNG بالإضافة إلى JPG؛ تم إنشاؤها بواسطة MS Paint.

لجعل الخلفية مرئية من خلال الزر الخاص بك:

اذهب إلى نافذة خصائص الزر. ثم قم بتغيير FlatStyle و BackColor كما هو موضح في الصورة أدناه:

The FlatStyle is to be chosen as Flat

The color is to be chosen from Web Tab

ملاحظة: يجب اختيار اللون من علامة تبويب الويب وسيتم اختيار FlatStyle كـ Flat.

But after this, the button will be transparent till mouse do not hover or it is selected or pressed. On that condition, it will be in some non-transparent color. If you want to make it always transparent, follow the following images and change the corresponding colors to transparent as before. The colors to be changed are: 'MouseOverBackColor' & 'MouseDownBackColor'.

enter image description here

enter image description here

ملاحظة: إذا اخترت دائمًا شفافية ، كما هو موضح ، لن يكون هناك أي تغيير في مظهر الزر أثناء تشغيله!

أتمنى أنها تساعدك.

حظا سعيدا!

0
وأضاف