如何为一个只读的文本框设置字符限制?

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

我在visual studio中创建了一个计算器应用程序。我在windows窗体中创建了一些按钮,可以在文本框中输入数字。由于输入不是来自键盘,所以MaxLength属性对我不起作用。我将文本框设置为只读,这样用户只能通过按钮来输入。我如何设置字符限制(字符,因为我添加了","在千,万等。我只允许12位数字+3个逗号,使文本框中共有15个字符),在一个充满按钮的文本框中,如何设置字符限制?

c# .net visual-studio textbox windows-forms-designer
1个回答
1
投票

你可以创建一个自定义的TextBox,确保文本永远不会大于MaxLength属性。

class RestrictedTextBox : TextBox
{
    public override string Text
    {
        get
        {
            return base.Text;
        }

        set
        {
            if (value.Length > MaxLength)
                base.Text = value.Substring(0, MaxLength);
            else
                base.Text = value;
        }
    }
}

0
投票

真的需要更多的信息,你使用什么类型的应用程序来构建计算器,如WPFWinformsWeb。

由于您使用的是UI元素,而这是严格的UI显示,您可以在UI页面的代码后面的文件中这样做。

你需要检查文本框的长度,以确定其长度是否在你的限制之下,如果是,那么将按钮的值添加到该文本框的文本属性中。

如下

If (textbox.Text.Length < 15)
    textbox.Text += Button.Content.Value

至于插入逗号,你又需要检查长度,需要时可以在正确的位置插入逗号。

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