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

如何在C#中检测字符串中最后按下的键的位置?,c#,winforms,string,position,C#,Winforms,String,Position,我正在datagridview中输入数据 假设我在单元格中输入了678.56。现在如果我再按678后面的数字6 我想知道最后一个按键在字符串中的位置。index.index(e.KeyChar)给了我位置0(因为还有一个6) 但我需要知道当前按下的键的位置。我正在使用按键事件 编辑:我使用的字符串值取自datagridview的单元格。它不是一个文本框。我正在创建一个事件处理程序作为KeyPress。尝试使用KeyRelease事件,此时e.KeyChar将返回所按下的键的值(在本例中为释放)。

我正在datagridview中输入数据

假设我在单元格中输入了
678.56
。现在如果我再按678后面的数字6

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

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


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

尝试使用KeyRelease事件,此时e.KeyChar将返回所按下的键的值(在本例中为释放)。

查看前面的字符。

您可以在
KeyPress事件中使用此选项:

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

你想要实现什么?也许有更好的解决方案?你调试了吗?你在e.KeyChar属性中得到的KeyChar是什么?@zenwalker我在e.KeyChar中得到6的ascii码。但是IndexOf(e.KeyChar)给了我0的值,因为在0的位置上也有一个6。我不得不使用KeyPress事件,因为程序还有其他验证。非常感谢。你的建议帮助我解决了我的问题。