setting cursor position for TextBox

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
 
B

Brandon McCombs

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
 
L

Linda Liu [MSFT]

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.
 
B

Brandon McCombs

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top