Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Name in Textbox
Message
 
À
07/12/2004 23:01:41
Information générale
Forum:
ASP.NET
Catégorie:
Formulaires
Titre:
Divers
Thread ID:
00967443
Message ID:
00967694
Vues:
7
Thank-you to both of you, it works, but i just added an important line of code:
public class MyTextBox : System.Windows.Forms.TextBox
{

	protected override void OnTextChanged(System.EventArgs e)
	{
		if (this.Text.Length == 0) 
		{
			if (this.DesignMode)
				this.Text = this.Name;
			else
				base.OnTextChanged(e);
		
		}
	}
}
Sorry, i can't write in VB. I couldn't teach myself to write "Me".something ;)

Stephane

>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.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform