请问如何让文字光标自动移动到某个地方啊?

0深水蓝0 2011-05-05 12:54:23
例如通过一段代码把一个TextBox的文字修改了,但修改完之后这个TextBox中的文字光标是在文字的开始的地方。如果用户需要继续输入文字,还需要用鼠标在文字末尾点一下。

我希望在我的代码能再程序自动修改完TextBox的文字后自动把TextBox中的文字光标移动到文字的最末端。

请问怎么实现啊?谢谢。

...全文
339 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
0深水蓝0 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kingdom_0 的回复:]

// your logic code
//...
TextBox1.Focus();//这样让控件获取焦点。
[/Quote]

用focus()光标也只能停留在文字的最开始端。

用TextBox.SelectedStart = TextBox.Text.Length就可以了。
TNight 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qw_zr 的回复:]
C# code

textBox1.Text = "fffffffff";
textBox1.SelectionStart = 5;
[/Quote]

textBox1.SelectionStart=textBox1.Text.Length;

这样可以不
kingdom_0 2011-05-05
  • 打赏
  • 举报
回复
// your logic code
//...
TextBox1.Focus();//这样让控件获取焦点。
kid_wang 2011-05-05
  • 打赏
  • 举报
回复
控制 Windows 窗体 TextBox 控件中的插入点
--以下来自MSDN
ms-help://MS.MSDNQTR.v90.chs/dv_fxmclictl/html/5bee7d34-5121-429e-ab1f-d8ff67bc74c1.htm

当 Windows 窗体 TextBox 控件最初获得焦点时,文本框内的默认插入点在任何现有文本的左侧。用户可以使用键盘或鼠标来移动插入点。如果文本框失去焦点而后又再次获得焦点,则插入点为用户上一次放置的位置。

在某些情况下,此行为可能给用户带来不便。在字处理应用程序中,用户可能希望新字符显示在任何现有文本的后面。在数据输入应用程序中,用户可能希望新字符替换任何现有项。SelectionStart 和 SelectionLength 属性使您可以根据自己的需要来修改此行为。

控制 TextBox 控件中的插入点
将 SelectionStart 属性设置为适当的值。如果值为零,则插入点紧挨第一个字符的左边。

(可选)将 SelectionLength 属性设置为要选择的文本的长度。

下面的代码始终将插入点的位置恢复到 0。TextBox1_Enter 事件处理程序必须绑定到该控件。有关更多信息,请参见 在 Windows 窗体中创建事件处理程序。

private void textBox1_Enter(Object sender, System.EventArgs e) {
textBox1.SelectionStart = 0;
textBox1.SelectionLength = 0;
}


使插入点默认情况下可见
只有当 TextBox 控件处于 Tab 键顺序中的第一个位置时,TextBox 插入点才默认在新窗体中可见。否则,只有当使用键盘或鼠标使 TextBox 具有焦点时,才会显示插入点。

使文本框插入点在新窗体中默认可见
将 TextBox 控件的 TabIndex 属性设置为 0。
qw_zr 2011-05-05
  • 打赏
  • 举报
回复
            
textBox1.Text = "fffffffff";
textBox1.SelectionStart = 5;

禁用F3 2011-05-05
  • 打赏
  • 举报
回复
没看懂你的需求

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧