您的位置:首页 > 编程语言 > C#

【c#学习笔记】 基础篇

2016-03-01 09:56 204 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/sinat_28009407/article/details/50770233

今日问题:

1. 如何检验输入框的值得类型?比如只能输入数字,输入为空或者非数字,甚至不是条件范围内的数字,都过不去,需要重新检验输入是否正确?

2. 这样的条件是每次输入框都要写一遍所有的程序,能不能写个公共的函数直接调用?

3. picturebox和imagelist的双剑合璧;


问题1.

方法1 :用keypress判断keychar的值  网上找到解决办法(原帖地址:http://blog.csdn.net/liujun198773/article/details/8486169):

keypress的问题解决,在输入框的时候,只识别数字,BACKSPACE,小数点的按键,其他一概不能输入。

数字0~9的所对应的keychar为48~57,小数点是46,Backspace是8.

于是:

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            try
            {
                int a = (int)e.KeyChar;
                if (((a < 48 || a> 57 ) && a != 8)&& a !=46)
                {
                    e.Handled = true;
                }
            }
            catch(Exception)
            {
            }

附加:-----不一定要keychar,可以直接用数字符号。

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (((e.KeyChar < '0' || e.KeyChar > '9') && e.KeyChar != '.') && e.KeyChar != '\b')
            {
                e.Handled = true;
                MessageBox.Show("请输入正确的数据格式");
            }
          
        }

方法2:通过类型转换,try catch

//来源:http://zhidao.baidu.com/link?url=yLzUJon6Bxj1L_EhAisS_PUQksmRn88Rjn2hp5YZOnxmiOD_Yp2IhW_hMibTq1rL7vOdlRXmj4N2UA1wm1GPlq

   private void textBox1_Leave(object sender, EventArgs e)
        {
            try
            {
                int temp = int.Parse(textBox1.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("请输入正确的数字");
            }
        }





附加相关知识:

1. keypress ,keydown,keyup

详细来源:http://blog.csdn.net/jadeflute/article/details/5551751http://www.jb51.net/article/52321.htm

2. int parse,类型的强制转换 

详细参考:http://www.jb51.net/article/52321.htm

3. try.catch,finally的使用 。

来源:http://zhidao.baidu.com/link?url=qjPBzD7dyPyl0OeT50J07DG1SFlkOkCcusehXnkcDh9SmvfIOc_MplE1Lud8xs6-2-1yfOX4mpINe75k7Cleoa

try {//容易产生异常的代码}

catch{产生异常之后的操作,抛出异常等}

finally {无论异常,最后都要做的事情}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: