我正在做一个项目。我有文本框,并通过 TextChanged 事件将文本更改为大写
txt.ToUpper();
之后 selectionStart 从头开始。我将其更改为 textbox.text.length 。
如何确定更改?我想将 selectionStart 移动到用户在文本中进行更改的位置。
我正在做一个项目。我有文本框,并通过 TextChanged 事件将文本更改为大写
txt.ToUpper();
之后 selectionStart 从头开始。我将其更改为 textbox.text.length 。
如何确定更改?我想将 selectionStart 移动到用户在文本中进行更改的位置。
将前面的文本存储在一个变量中,比如说,previousVariable
用 初始化null
。
string prevVal = null;
private void txtSel_TextChanged(object sender, TextChangedEventArgs e)
{
if(prevVal == null)
{
prevVal = txtSel.Text;
}
else
{
for(int i = 0; i < txtSel.Text.length; i++)
{
if(txtSel.Text.Substring(i, 1) != prevVal.Substring(i, 1))
{
txtSel.SelectionStart = i+1;
break;
}
}
}
}
尝试在选择更改时使用上述代码。