تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود- تكست بوكس شفاف Transparent TextBox
#1
كاتب الموضوع : silverlight

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


كود :
Public Class cTextBox

Inherits TextBox

Private m_opacity As Double
Private m_backcolor As Color = Color.Transparent
Private m_fillColor As Color = Color.Chocolate

#Region " Constructor "

Public Sub New()

SetStyle(ControlStyles.SupportsTransparentBackColor, True)
SetStyle(ControlStyles.Opaque, False)
SetStyle(ControlStyles.DoubleBuffer, True)
SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
SetStyle(ControlStyles.AllPaintingInWmPaint, True)
SetStyle(ControlStyles.UserPaint, True)
UpdateStyles()
m_opacity = 1.0R

End Sub

#End Region

#Region " Property "

<System.ComponentModel.DefaultValue(1.0R)> _
<System.ComponentModel.TypeConverter(GetType(OpacityConverter))> _
<System.ComponentModel.Description("Set the opacity percentage of the control.")> _
<System.ComponentModel.Category("Control Style")> _
Public Property Opacity() As Double
Get
Return m_opacity
End Get
Set(ByVal value As Double)
m_opacity = value
UpdateStyles()
Refresh()
End Set
End Property

<System.ComponentModel.Browsable(False)> _
<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)> _
<System.ComponentModel.DefaultValue(GetType(Color), "Transparent")> _
<System.ComponentModel.Description("Set background color.")> _
<System.ComponentModel.Category("Control Style")> _
Public Overrides Property BackColor() As System.Drawing.Color
Get
Return m_backcolor
End Get
Set(ByVal value As System.Drawing.Color)
m_backcolor = value
Invalidate()
End Set
End Property

<System.ComponentModel.DefaultValue(GetType(Color), "Chocolate")> _
<System.ComponentModel.Description("Set hot color.")> _
<System.ComponentModel.Category("Control Style")> _
Public Property FillColor() As Color
Get
Return m_fillColor
End Get
Set(ByVal value As Color)
m_fillColor = value
Invalidate()
End Set
End Property


#End Region

#Region " Event "

Protected Overrides Sub OnResize(ByVal e As System.EventArgs)
MyBase.OnResize(e)
Invalidate()

End Sub

Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
MyBase.OnKeyDown(e)
Invalidate()

End Sub

Protected Overrides Sub OnKeyUp(ByVal e As System.Windows.Forms.KeyEventArgs)
MyBase.OnKeyUp(e)
Invalidate()

End Sub

Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
MyBase.OnKeyPress(e)
Invalidate()

End Sub

Protected Overrides Sub OnMouseUp(ByVal mevent As System.Windows.Forms.MouseEventArgs)
MyBase.OnMouseUp(mevent)
Invalidate()

End Sub

Protected Overrides Sub OnMouseLeave(ByVal e As System.EventArgs)

Dim ptCursor As Point = Cursor.Position
Dim f As Form = Me.FindForm()
ptCursor = f.PointToClient(ptCursor)
If Not Me.Bounds.Contains(ptCursor) Then
MyBase.OnMouseLeave(e)
End If

End Sub

Protected Overrides Sub OnGiveFeedback(ByVal gfbevent As System.Windows.Forms.GiveFeedbackEventArgs)
MyBase.OnGiveFeedback(gfbevent)
Invalidate()

End Sub

Protected Overrides Sub OnChangeUICues(ByVal e As System.Windows.Forms.UICuesEventArgs)
MyBase.OnChangeUICues(e)
Invalidate()

End Sub

Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
MyBase.OnGotFocus(e)
Invalidate()

End Sub

Protected Overrides Sub OnLostFocus(ByVal e As System.EventArgs)
MyBase.OnLostFocus(e)
Invalidate()

End Sub

Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
MyBase.OnTextChanged(e)
Invalidate()

End Sub

Protected Overrides Sub OnFontChanged(ByVal e As System.EventArgs)
MyBase.OnFontChanged(e)

Invalidate()

End Sub

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
MyBase.OnPaint(e)

Using sb As New SolidBrush(Me.BackColor)

e.Graphics.FillRectangle(sb, Me.ClientRectangle)
sb.Dispose()

Using fsb As New SolidBrush(Color.FromArgb(Me.Opacity * 255, Me.FillColor))

e.Graphics.FillRectangle(fsb, Me.ClientRectangle)
fsb.Dispose()

End Using

If Me.Text IsNot Nothing Then

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

End If

End Using
End Sub

#End Region

End Class
مع تحياتي
أخوكم عمر
}}}}
تم الشكر بواسطة: العواد الصغير , العواد الصغير


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مقال] إضافة خاصية التحجيم التلقائي - AutoSize - إلى أداة مربع النص - TextBox sooriaty03 9 2,893 11-02-16, 10:47 PM
آخر رد: العواد الصغير
Thumbs Down [كود] كود لمسح كل التيكست بوكس مرة واحدة مهما كان العدد medo_ya 11 2,248 13-09-15, 05:35 PM
آخر رد: khodor1985
  معلومة ::: Search In TextBox RaggiTech 1 420 06-10-12, 08:56 PM
آخر رد: RaggiTech
  مقال- الكومبو بوكس ComboBox كيف تضيف أيقونات RaggiTech 0 765 05-10-12, 06:54 PM
آخر رد: RaggiTech
  كود - باتون شفاف RaggiTech 0 393 05-10-12, 01:10 PM
آخر رد: RaggiTech
  كود- الماسج بوكس 2 RaggiTech 0 415 05-10-12, 11:09 AM
آخر رد: RaggiTech
  غزة ماسج بوكس - اهداء الي اهلنا في غزة RaggiTech 0 413 05-10-12, 10:57 AM
آخر رد: RaggiTech
  الة حاسبة في TextBox واحد فقط RaggiTech 0 504 02-10-12, 09:48 AM
آخر رد: RaggiTech
  معلومة ::: Search In TextBox Blue Sky 0 319 30-09-12, 07:41 PM
آخر رد: Blue Sky
  مقال: الكومبو بوكس ComboBox كيف تضيف أيقونات Blue Sky 0 767 17-09-12, 10:19 PM
آخر رد: Blue Sky

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم