【问题标题】:How to set max length for "Bunifu .NET UI Framework" text box?如何设置“Bunifu .NET UI Framework”文本框的最大长度?
【发布时间】:2018-08-31 15:53:47
【问题描述】:

我使用 Bunifu .NET UI Framework 开发了一个 Windows 窗体应用程序。

但是我有一个问题,我想设置文本框的最大长度。

所以请给我一些建议,我该怎么做?

【问题讨论】:

    标签: bunifu


    【解决方案1】:

    简单的方法,在文本框的TextChange事件上分配MaxLength属性(工作100%)

        int maxLength=5;
        private void textbox1_TextChange(object sender, EventArgs e)
        {
            textbox1_TextChange.MaxLength = maxLength + txtActivationKey.PlaceholderText.Length;
        }
    

    【讨论】:

      【解决方案2】:

      您也可以使用以下方法:

      /// <summary>
      /// Sets the maximum length of text in Bunifu MetroTextBox.
      /// </summary>
      /// <param name="metroTextbox">The Bunifu MetroTextbox control.</param>
      /// <param name="maximumLength">The maximum length of text to edit.</param>
      private void SetMaximumLength(Bunifu.Framework.UI.BunifuMetroTextbox metroTextbox, int maximumLength)
      {
          foreach (Control ctl in metroTextbox.Controls)
          {
              if (ctl.GetType() == typeof(TextBox))
              {
                  var txt = (TextBox)ctl;
                  txt.MaxLength = maximumLength;
      
                  // Set other properties & events here...
              }
          }
      }
      

      【讨论】:

      • 此方法是否适用于所有文本框?我想只应用一个文本框的最大长度。不是另一个。
      • 不,只有一个。一旦在调用时指定 BunifuMetroTextBox 设置MaxLength 值,它只会更改指定的实例。例如,假设您在 Form 中拖动了一个名为 metroTextbox1 的 BunifuMetroTextBox,使用上述函数时您需要做的就是:SetMaximumLength(metroTextbox1, 20),其中20 是指定 MetroTextBox 中可编辑文本的最大长度.希望这会有所帮助...
      • 好兄弟。谢谢,它正在工作。谢谢你的建议。
      【解决方案3】:

      这是工作代码 - 在 InitializeComponent() 之后添加表单加载代码或构造函数,如 BunifuMetro(yourtextbox);。您可以通过将 Bunifu.Framework.UI.BunifuMetroTextbox 替换为另一个文本框来尝试在控件之间切换;干杯

        private void BunifuMetro(Bunifu.Framework.UI.BunifuMetroTextbox metroTextbox)
      
              {
                  foreach (var ctl in metroTextbox.Controls)
                  {
      
                      if (ctl.GetType() == typeof(TextBox))
      
                      {
                          var txt = (TextBox)ctl;
                          txt.MaxLength = 5;
                          // set other properties & events here
                      }
      
                  }
      
              }
      

      【讨论】:

      • BunifuMetroTextbox 在属性窗口中没有“MaxLength”功能。但通常我们可以使用“textBox1.MaxLength = 40;”此代码或更改属性。但是,只有此代码在 BunifuMetroTextbox 中不起作用。那我现在在做什么?
      • 您是否尝试过上面的代码解决方法? MaxLength 属性在属性窗口中不可用,这就是您需要使用提供的代码解决问题的原因。
      • 那么如何只为一个 BunifuMetroTextbox 编写上述代码呢?请指导我并感谢您的建议。
      • 在你的表单加载中调用函数BunifuMetro(你的文本框的变量名);
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 2011-09-02
      相关资源
      最近更新 更多