WYTC-C#-控制項-MaskedTextBox(遮罩文字盒)

 遮罩文字盒(maskedTextBox)控制項:控制輸入者僅能輸入特定資料
屬性名稱:
  AsciiOnly:ture限定只能接受ascII碼 。flase可接受unicode字符.
  BeepOnError:設定輸入被拒絕時,是否發出警告聲。
  Mask:遮罩格式設定 參考以下 Mask屬性遮罩項目.
  Maskcompleted:所有必要項的輸入是否都已經輸入到輸入遮罩中。
  maskFull:所有必要項和選擇項的輸入是否都已經輸入到輸入遮罩中。
  PasswordChar:主要用來設定代替使用者輸入的元,ex:[*].
  TextMaskFormat:用來設定當取得MaskedtextBox控制項text屬性其字串內容值是否含常值和提示字元。
                 提示字元,如:[_]和常數值,[-],假如原始格式為[___-____-____]若輸入
                 [0936-666-___]則:
                 includeLiterals(預設值)[0930-666-___]
                 ExcludePromptAndLiterals 不包含提示字元和常數值[0930-666-]
                 IncludePrompt 包含提示字元[0930666___]
                 IncludePromptAndLiterals 包啟提示字無和常數值[030-666-___]
Mask屬性遮罩項目:
0 必要值 數字,接受0-9之間的數字
9 選擇項 數字或空格
# 選擇項 數字或空格,允許使用 + - 號
L 必要項 英文字母,接受A-Z,a-z
? 選擇項 英文字母,接受A-Z,a-z
. 常值 小數點留位置
: 常值 時間分隔符
/ 常值 日期分隔符
$ 常值 貨幣分隔符

MaskedTextBox常用方法:
AppendText() 將文字附加於目前遮罩文字盒內的文字之中
Clear()  清除文字盒內所有文字
Copy()  
Cut()
Paste()
SelectAll()

常用事件:
MaskInputRejected 輸入格式與遮罩格式不符時觸發。

code_ex:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ISBN_Check_ex
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_checkISBN_Click(object sender, EventArgs e)
        {
            maskedTextBox1.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
            string ISBN = maskedTextBox1.Text;
            string CheckCode="";

            if (maskedTextBox1.Text.Length != 10)
            {
                MessageBox.Show("請輸入十碼數字");
                maskedTextBox1.Focus();
            }
            else
            {
                if (isbnCheck(maskedTextBox1.Text))
                {
                    MessageBox.Show(this,"正確ISBN","遮罩文字盒控制項");
                    if (maskedTextBox1.Text == "9575279093")
                    {
                        MessageBox.Show(this, "這不是傳說中最令人激賞的VB書籍",
                            "Visual Basic 2005 Express 程式設計經典教本");
                    }
                }
                else
                {
                    CheckCode = isbnCheckCode(maskedTextBox1.Text);
                    MessageBox.Show("錯誤ISBN,正確檢查碼為[" +
                        CheckCode + "]");
                    maskedTextBox1.Text =
                        maskedTextBox1.Text.Substring(0,9) + CheckCode;
                }
            }
                      

        }
        //判斷ISBN是否正確
        private bool isbnCheck(string newISBN)
        {
            int sum = 0;

            if (newISBN.Length != 10)
            {
                return false;
            }
            else
            {
                for (int i = 1; i <= 10; i++)
                {
                    sum += Convert.ToInt32(newISBN.Substring(i - 1, 1)) * (11 - i);
                }
               
                int a = sum / 11;
                if (sum == (a * 11))
                {
                    return true;
                }
                else
                {
                    return false;
                }

                  
            }
          
        }

        //回傳正確檢查碼
        private string isbnCheckCode(string newISBN)
        {
            int sum = 0;
            string lastChar;

            lastChar = newISBN.Substring(9, 1);


                for (int i = 1; i < 10; i++)
                {
                    sum += Convert.ToInt32(newISBN.Substring(i - 1, 1)) * (11 - i);
                }

                int checksum = (11 - (sum % 11)) % 11;

                return checksum.ToString();
        }
        //輸入格式有誤會觸發此事件-透過此事件取得被拒絕輸入的原因
        private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
        {
            MessageBox.Show(this,e.RejectionHint.ToString(),"輸入格式有誤");
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物欲添彩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值