gpt4 book ai didi

c# - WinForms,在文本后设置输入光标。在文本末尾替换

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:47 24 4
gpt4 key购买 nike

我目前正在编写一个与财务相关的小型应用程序,并希望确保我的用户知道如何编写十进制值(使用点而不是逗号。)

为确保输入正确,我已将控件提交给 TextChanged 事件,如下所示。

        // Remove people not knowing how to write decimals.
if (ExpenseValueTB.Text.Contains(',')) {
ExpenseValueTB.Text = ExpenseValueTB.Text.Replace(',', '.');
ExpenseValueTB.Focus();
}

现在这绝对有效,但不幸的是输入光标跳回到开头。因此,如果有人想写“15,96”,他们最终会写成 9615。

我环顾四周,但其他类似的问题是 js 或 PHP

非常感谢!

最佳答案

你可以使用 SelectionStartSelectionLength来自 TextBox 基本方法

    if (ExpenseValueTB.Text.Contains(',')) {
ExpenseValueTB.Text = ExpenseValueTB.Text.Replace(',', '.');
ExpenseValueTB.SelectionStart = ExpenseValueTB.Text.IndexOf('.') + 1;
ExpenseValueTB.SelectionLength = 0;
ExpenseValueTB.Focus();
}

但您最好的方法可能是删除简单的 TextBox 并使用 MaskedTextBox 以允许您更好地格式化用户输入

关于c# - WinForms,在文本后设置输入光标。在文本末尾替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com