如何在C#中检测字符串中最后一个按键的位置

本文关键字:位置 最后一个 检测 字符串 | 更新日期: 2023-09-27 18:29:39

我正在数据网格视图中输入数据。

假设我在单元格中输入了678.56。现在,如果我在678之后再次按下数字6,

我想知道最后一个按键在字符串中的位置。Text.IndexOf(e.KeyChar)给了我位置0(因为还有一个6)。

但我需要知道当前按下的键的位置。我正在使用KeyPress事件。

编辑:我使用的字符串值取自datagridview的一个单元格。这不是一个文本框。我正在创建一个事件处理程序KeyPress。

如何在C#中检测字符串中最后一个按键的位置

查看TextBox.SelectionStart.

之前的字符

您可以在KeyPress事件中使用它:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
        int position = textBox1.SelectionStart;
}

尝试使用KeyRelease事件,此时e.KeyChar将返回按下的键的值(在这种情况下释放)。