setting cursor position for TextBox

  • Thread starter Thread starter Brandon McCombs
  • Start date Start date
B

Brandon McCombs

Does anyone know of an easy way to set the position of the cursor in a
TextBox? If I set text in the box that is longer than the length of the
TextBox the position of the cursor is at the very end of the line and a
user would have to use the arrow keys to move it back to the beginning
of the line of text. I'd prefer to set the cursor position automatically
to just before the first character of the text.

thanks
 
Mattias said:
Use the SelectionStart and SelectionLength properties.


Mattias

I already tried SelectionStart property but I tried SelectionLength as
well by using the following:

ldapHostField.SelectionStart = 0;
ldapHostField.SelectionLength = 0;

This did not make any difference. The text in the field is still all
selected. I'm not sure why it is even w/o setting values for those 2
properties unless it is because ldapHostField is the first field in the
Form. The cursor is still at the end of the text instead of at the
beginning.

thanks
 
Hi Brandon,

Based on my understanding, you'd like to set the position of the cursor in
a TextBox to just before the first character of the text. If I'm off base,
please feel free to let me know.

The simplest and recommended way to set the position of the cursor in a
TextBox is to use the SelectionStart property.

The following is a sample code. It requires that you add a TextBox on a
form.

private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.Text = "this is a very very long text...";

this.textBox1.SelectionStart = 0;
}

When you run the application, you should see the TextBox on the form is
focused and the cursor is before the first character in the TextBox.

If your problem is still not resolved, you may send me a sample project
that could just reproduce the problem. To get my actual email address,
remove 'online' from my displayed email address.

Sincerely,
Linda Liu
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
 
Linda said:
Hi Brandon,

Based on my understanding, you'd like to set the position of the cursor in
a TextBox to just before the first character of the text. If I'm off base,
please feel free to let me know.

The simplest and recommended way to set the position of the cursor in a
TextBox is to use the SelectionStart property.

The following is a sample code. It requires that you add a TextBox on a
form.

private void Form1_Load(object sender, EventArgs e)
{
this.textBox1.Text = "this is a very very long text...";

this.textBox1.SelectionStart = 0;
}

When you run the application, you should see the TextBox on the form is
focused and the cursor is before the first character in the TextBox.

If your problem is still not resolved, you may send me a sample project
that could just reproduce the problem. To get my actual email address,
remove 'online' from my displayed email address.


thanks I got it working after seeing your code.
 
Back
Top