Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Name in Textbox
Message
From
07/12/2004 23:01:41
 
General information
Forum:
ASP.NET
Category:
Forms
Title:
Miscellaneous
Thread ID:
00967443
Message ID:
00967661
Views:
7
Eric, this is totally overkill. Let's reduce that code somewhat.
Public Class MyTextBox
    Inherits System.Windows.Forms.TextBox  

    Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
        If Me.Text.Length = 0 Then
            If Me.DesignMode Then
                Me.Text = Me.Name
            End If
        End If
    End Sub
End Class
>>Then from your application, add a references to your control library. Now add a regular textbox to a form and change its type (2 places):<

Yeah, you can do it that way, but the preferred way would be to add your new TextBox class to the ToolBox ... open the ToolBox, choose the MyUserControls "tab" (or any one really, it doesn't matter), right-click anywhere and then choose Add/Remove Items ... click on Browse to find your new control library .DLL. Then, you drop your new TextBox on your form instead of the framework TextBox.

~~Bonnie





>I just that you want this behavior only at design-time!
>
>It wasn't as easy as I thought first but I found something.
>
>You will need to create a WindowsControlLibrary
>that will contain at least this code:
>
Option Strict On
>
>Public Class UserControl1
>    Inherits System.Windows.Forms.TextBox  '.UserControl
>
>#Region " Windows Form Designer generated code "
>
>    Public Sub New()
>        MyBase.New()
>
>        'This call is required by the Windows Form Designer.
>        InitializeComponent()
>
>        'Add any initialization after the InitializeComponent() call
>
>    End Sub
>
>    'UserControl1 overrides dispose to clean up the component list.
>    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
>        If disposing Then
>            If Not (components Is Nothing) Then
>                components.Dispose()
>            End If
>        End If
>        MyBase.Dispose(disposing)
>    End Sub
>
>    'Required by the Windows Form Designer
>    Private components As System.ComponentModel.IContainer
>
>    'NOTE: The following procedure is required by the Windows Form Designer
>    'It can be modified using the Windows Form Designer.
>    'Do not modify it using the code editor.
>    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
>        components = New System.ComponentModel.Container
>    End Sub
>
>#End Region
>
>    Protected Overrides Sub OnTextChanged(ByVal e As System.EventArgs)
>        If Me.Text.Length = 0 Then
>            If Me.DesignMode Then
>                Me.Text = Me.Name
>            End If
>        End If
>    End Sub
>End Class
>
>
>Build your control library.
>
>Then from your application, add a references to your control library. Now add a regular textbox to a form and change its type (2 places):
>
Friend WithEvents TextBox2 As WindowsControlLibrary2.UserControl1 ' System.Windows.Forms.TextBox
>
>It should work as expected.
>
>
>>What do you mean by "Shadow" the Text property? Any code sample ?
>>
>>Merci!.
>>
>>>You will need to inherit the Textbox control and shadow the Text property to set it as the Name when it becomes empty.
Bonnie Berent DeWitt
NET/C# MVP since 2003

http://geek-goddess-bonnie.blogspot.com
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform