在文本框的最后一行输入文本,并且无法编辑前面的行

问题描述 投票:0回答:1

在文本框的最后一行输入文本,前面的行无法编辑,求助。

AI 发出这样的代码,但什么也没发生

private void srvBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (srvBox.Text.Length > 0)
{isCursorAtLastLine = srvBox.SelectionStart == srvBox.Lines.Length - 1;}
else{isCursorAtLastLine = true;}
if (isCursorAtLastLine == true){e.Handled = false;}
else{e.Handled = true;}
}
c# .net winforms textbox
1个回答
0
投票

我将该代码修改为以下内容,这似乎有效。

private void srvBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (srvBox.Text.Length > 0 && srvBox.SelectionStart == srvBox.Text.Length)
    {
        e.Handled = false;
    }
    else 
    { 
        e.Handled = true; 
    }
}

但是,我怀疑(正如其他人所建议的那样),这不是最好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.