c# 避免在 maskedTextBox 上出现空字符

c# Avoid empty characters on maskedTextBox

我已经阅读了很多关于如何避免 empty maskedtextbox 但 none 的工作

在按钮的 click 中,我将 maskedTextBox 分成 three string ,所以当 substring 应用程序崩溃。

我是否可以用“0”替换 empty 个字符,然后将它们添加到一个字符串中,或​​者类似的东西?

代码:

        void click(object sender, EventArgs e)
        {
            string masked = Maskedtextboxes[Convert.ToInt32(((Button)sender).Tag)].Text;

            string hh = masked.Substring(0,2), mm = masked.Substring(3,2),
            ss = masked.Substring(6,2);

            MessageBox.Show(hh+mm+ss);
        }

我的 maskedtextbox 被屏蔽在 --/--/--

这应该有效:

  var p = masked.Split('/');
  // here you could check for p.Length == 3
  string hh = p[0].Trim().PadLeft(2, '0');
  string mm = p[1].Trim().PadLeft(2, '0');
  string ss = p[2].Trim().PadLeft(2, '0');

你想试试这样的东西

private void Click(object sender, EventArgs e)
{
    string[] masked = mymaskedTextBox.Text.Split('/');

    string hh = masked[0];
    string mm = masked[1];
    string ss = masked[2];

    MessageBox.Show(hh + mm + ss);
}