vNe*_*ext 3 c# cursor winforms
我有一个winform加载MDI子winform.子winform中的所有文本框总是让光标停留在左侧,我不能将它移动到另一个位置,除了我选择所有文本并重新输入.如何启用此功能以使光标可以使用鼠标停留在任何位置?
在以下示例中,光标将位于表单的每个文本框中的第二个字符之后.焦点将放在最后一个,但通过反复按TAB键,您可以验证是否已为每个文本框设置了光标位置.
using System;
using System.Windows.Forms;
public class Program
{
public static void Main()
{
var form = new Form();
form.Text = "Cursor Positioning Test";
form.Visible = true;
form.Shown += delegate(object sender, EventArgs args) {
foreach (var control in form.Controls)
{
var textBox = control as TextBox;
if (textBox != null)
{
textBox.Focus();
textBox.SelectionStart = 2;
textBox.SelectionLength = 0;
}
}
};
var textBox1 = new TextBox();
textBox1.Text = "hello";
textBox1.Left = 10;
textBox1.Top = 10;
form.Controls.Add(textBox1);
var textBox2 = new TextBox();
textBox2.Text = "stack";
textBox2.Left = 10;
textBox2.Top = 10 + textBox1.Height + 10;
form.Controls.Add(textBox2);
var textBox3 = new TextBox();
textBox3.Text = "overflow";
textBox3.Left = 10;
textBox3.Top = 10 + textBox1.Height + 10 + textBox2.Height + 10;
form.Controls.Add(textBox3);
Application.Run(form);
}
}
Run Code Online (Sandbox Code Playgroud)
试试这个,希望对你有帮助;)
//if you want put cusror at the end of text use this:
TextBox1.SelectionStart = TextBox1.Text.Length;
TextBox1.SelectionLength = 0;
//use this for custom location int CustomIndex
TextBox1.SelectionStart = CustomIndex;
TextBox1.SelectionLength = 0;
Run Code Online (Sandbox Code Playgroud)