我在做一个项目。我有文本框和TextChanged事件我将文本更改为upperCase
txt.ToUpper();
之后,selectionStart从头开始。我把它改成了textbox.text.length。
如何确定更改?我想将selectionStart移动到用户在文本中进行更改的位置。
答案 0 :(得分:0)
将之前的文字存储在变量中,例如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;
}
}
}
}
尝试在选择更改时使用上述代码。