zoukankan      html  css  js  c++  java
  • TextBox自定义Mac输入框类

    using System.Windows.Controls;
    
    namespace test
    {
        public class MacTextBox : TextBox
        {
            private string _lastText = "";
            protected override void OnTextChanged(TextChangedEventArgs e)
            {
                string text = Text;
                if (PrepareText(ref text))
                {
                    Text = text;
                    _lastText = Text;
                }
                else
                {
                    Text = _lastText;
                }
    
                if (Text.Length > 0)
                    CaretIndex = Text[Text.Length - 1] == '-' ? Text.Length - 1 : Text.Length;
                e.Handled = true;
                base.OnTextChanged(e);
            }
    
            private bool PrepareText(ref string text)
            {
                if (text.Length > 17)
                    return false;
    
                text = text.ToUpper();
                string t = "";
    
                foreach (char c in text)
                {
                    if ((c >= 48 && c <= 57) ||
                        (c >= 65 && c <= 70))
                    {
                        t += c;
                        if (t.Length == 2 ||
                            t.Length == 5 ||
                            t.Length == 8 ||
                            t.Length == 11 ||
                            t.Length == 14)
                        {
                            t += "-";
                        }
                    }
                    else if (c != ':' && c != '-')
                    {
                        return false;
                    }
                }
    
                if (t.EndsWith("-"))
                    t = t.Remove(t.Length - 1);
    
                if (t.Length > 17)
                    return false;
                text = t;
                return true;
            }  
        }
    }
  • 相关阅读:
    IOS7 About
    iOS Newsstand Tutorial
    微信开发商
    网络流量监控相关资料
    EDM about
    thinkphp验证码的实现
    thinkphp表单上传文件并将文件路径保存到数据库中
    thinkphp分页实现
    linux 系统简单备份
    Google Hacking总结
  • 原文地址:https://www.cnblogs.com/Events/p/3848750.html
Copyright © 2011-2022 走看看