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

هل يمكن جعل خلفية أداة Label شفافة ؟

بدأه Visual Studio في 2 يناير 2009 · 5 رد · 3,528 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الإخوة الكرام

هل يمكن جعل خلفية أداة Label شفافة ؟ أي تأخذ نفس خلفية الفورم أو الصورة الموضوعة عليها ؟

كانت هذه الخاصية موجودة في الإصدار السادس من الفيجوال بيسك وهي الخاصية Transparent

لكني لم أجد ما يعادلها في الدوت نت

وشكرا

#2

مرحباً أخي الكريم .

تم ذكر هذا الموضوع مسبقاً, والحل تغير لون الخلفية الى Color.Transparent أو Color.FromArgb( 0,0,0,0 )

تبسيط الفكرة :

Dim Alpha, Red, Green, Blue As Byte

Alpha = 0 : Red = 0 : Green = 0 : Blue = 0

Label1.Backcolor = Color.FromArgb( Alpha, Red, Green, Blue )

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 2 يناير 2009 في 20:55

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#4

لم تنفع معي غيرت و لم تعمل فما العمل ؟

#5

أخي الفاضل

لكي تجعل Label شفافا عليك أن تقوم باستخدام الوراثة لعمل ذلك والكود التالي يوضح ذلك

ولتنفيذ الكود افتح مشروع وأضف له الكلاس التالي ثم عليك بعمل Build لهذا الكونترول ثم قم بإضافتة الي الفورم



Inherits System.Windows.Forms.Label

Private m_backcolor As Color = Color.Transparent

Public Overrides Property BackColor() As System.Drawing.Color
Get
Return m_backcolor
End Get
Set(ByVal value As System.Drawing.Color)
m_backcolor = value
End Set
End Property

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Dim rect As New RectangleF(Me.Margin.Left, Me.Margin.Top, _
Me.ClientRectangle.Width - Me.Margin.Left - Me.Margin.Right, Me.ClientRectangle.Height)
Dim format As New StringFormat(StringFormat.GenericDefault)

Select Case Me.TextAlign
Case ContentAlignment.TopLeft, ContentAlignment.MiddleLeft, ContentAlignment.BottomLeft
format.Alignment = StringAlignment.Near
Case ContentAlignment.TopCenter, ContentAlignment.MiddleCenter, ContentAlignment.BottomCenter
format.Alignment = StringAlignment.Center
Case ContentAlignment.TopRight, ContentAlignment.MiddleRight, ContentAlignment.BottomRight
format.Alignment = StringAlignment.Far
End Select

Dim bmp As New Bitmap(rect.Width, rect.Height, Imaging.PixelFormat.Format32bppArgb)
Dim g As Graphics = Graphics.FromImage(bmp)
g.FillRectangle(New SolidBrush(Color.FromArgb(20, Me.BackColor)), rect)
e.Graphics.DrawImage(bmp, rect)

e.Graphics.DrawString(Me.Text, Me.Font, New SolidBrush(Me.ForeColor), rect, format)

End Sub

End Class
Public Class TransparentLabel

بالتوفيق

أخوك عمر

#6

أيضاً من الخصائص Properties

بإمكانك تغيير خاصية Back Color إلى Transparent الموجود في تبويب Web

بالتوفيق إن شاء الله

{ وقل رب زدني علماً }

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