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

时间:2012-04-02 07:53:49

标签: c# winforms string position

我在datagridview中输入数据。

说我已在单元格中输入678.56。现在,如果我在678之后再次按数字6,

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

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

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

3 个答案:

答案 0 :(得分:4)

查看TextBox.SelectionStart之前的字符。

答案 1 :(得分:3)

您可以在KeyPress事件中使用此功能:

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

答案 2 :(得分:1)

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