السلام عليكم ورحمة الله
هذا كنترول بسيط عبارة عن مربع نص عندما يمر المؤشر فوقه يظهر زر صغير في الطرف الأيمن
وعند النقر على الزر يتم استعاء الحدث ButtonClick
أما عن الفائدة منه وطرق إستخدامه فأريدها منكم :)
وهذا هو الكود مع الشرح وانا جاهز لأسئلتكم ان شاء الله
وقد ارفقت الكود مع مثال
Public Class HoverTextBoxButton Inherits System.Windows.Forms.TextBox Private WithEvents btn As Button Sub New() 'انشاء الزر btn = New Button 'اضافة الزر الى داخل مربع النص MyBase.Controls.Add(btn) 'جعل الزر يلتصق لليسار btn.Dock = DockStyle.Left 'تغير الحجم للزر btn.Size = New Size(20, MyBase.Size.Height) 'تغيير شكل الزر btn.FlatStyle = FlatStyle.Standard 'نغيير النص للزر btn.Text = ".." 'اخفاء الزر btn.Visible = False End Sub #Region " Propertys " 'Public Property HoverButton() As Button ' Get ' Return btn ' End Get ' Set(ByVal Value As Button) ' btn = Value ' End Set 'End Property Public Property ButtonStyle() As FlatStyle Get Return btn.FlatStyle End Get Set(ByVal Value As FlatStyle) btn.FlatStyle = Value End Set End Property Public Property ButtonText() As String Get Return btn.Text End Get Set(ByVal Value As String) btn.Text = Value End Set End Property Public Property ButtonImage() As Image Get Return btn.Image End Get Set(ByVal Value As Image) btn.Image = Value End Set End Property Public Property ButtonDock() As DockStyle Get Return btn.Dock End Get Set(ByVal Value As DockStyle) If Value = DockStyle.Left Or Value = DockStyle.Right Then btn.Dock = Value End Set End Property #End Region #Region " Public Methods " #End Region #Region " Private Methods " #End Region #Region " Overridable Methods " Protected Overridable Sub ShowButton(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.MouseHover, MyBase.GotFocus btn.Visible = True End Sub Protected Overridable Sub HideButton(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Leave btn.Visible = False End Sub Protected Overridable Sub OnButtonHover(ByVal sender As Object, ByVal e As EventArgs) Handles btn.MouseHover btn.Visible = True End Sub Protected Overridable Sub OnButtonLeave(ByVal sender As Object, ByVal e As EventArgs) Handles btn.MouseLeave btn.Visible = False End Sub #End Region #Region " Events " 'هذا الحدث الخاص بالنقر على الزر Public Event ButtonClick(ByVal sender As Object, ByVal e As EventArgs) Protected Sub OnButtonClick(ByVal sender As Object, ByVal e As EventArgs) Handles btn.Click RaiseEvent ButtonClick(Me, e) End Sub #End Region End Class


