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

C#机房重构——万事开头难(二)

2016-03-15 21:28 399 查看

前言

机房将要进行完了,之所以仍然使用这个题目,是因为我想告诉自己,不管面对多么未知的事物,不要害怕,去做就好。在这么多天的机房重构中,发现了好多问题,也解决了好多问题,今天,就把我解决的问题分享给大家。

充值中的分行显示

在充值和退卡功能窗体中,我们会将一些信息分行显示到lablebox中,那么这个分行是怎么做到的呢?

lblDetail.Text = "充值卡号: " + txtCardNo.Text.Trim() + System.Environment.NewLine+"充值金额: "+txtAddMoney.Text.Trim() + System.Environment.NewLine + "余额:     " + list[0].Cash + System.Environment.NewLine + "充值教师: " + Entity.Model.user + System.Environment.NewLine + System.Environment.NewLine + "充值时间:" + DateTime.Now;
如上代码,具体操作如下:

1、先设置textbox的属性Multiline为true。

2、textbox.text="FistLine"+System.Environment.NewLine+"SecondLine"+System.Environment.NewLine+。。。。+"第N 行"+System.Environment.NewLine

就是这么简单。

显示转换

在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法:

1、使用强制类型转换:(int)浮点数。(截断,如int a=(int)2.8; //结果为2)

2、使用Convert.ToInt32(string)。(四舍五入,如int b=Convert.ToInt32(2.8); //b的值为3)

3、使用int.Parse(string)。(如果不能转换为整数,则报异常,如int c=int.Parse("2.8"); //报异常,说明其参数必须是整数字符串)

4、int.TryParse(string,out int)。(int.TryParse("2.8", out c); //不能转换成功,结果为0,int.TryParse("2", out c); //转换成功,结果为2)

那么,当要转换的信息为一个字符而不是数字的时候又怎么样呢?看例子:

1、int a = (int)'a'; //结果为97,注意是字符,而不是字符串(如果是字符串,编译不能通过)。

2、int b = Convert.ToInt32("a"); //报异常。

3、int c=int.Parse("a"); //报异常。

4、int d = -1;int.TryParse("a", out d); //结果为0。

退出程序

退出程序时,如果直接用close,有时候在任务管理器中还是可以找到。那么,关于退出有什么知识吗?

1、this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;

2、Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;

3、Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;

4、System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

获取当前机器名

如代码:text1.text = Environment.UserName;

VS中各个控件的事件

重构中我犯了一个特别有趣的错误,就是之前在做第一版VB机房的时候,可以双击窗体,在任务栏下面找到这个控件的所有属性,但是这次VS找不到了,直到,,,我在百度的时候看到了三个字:小闪电!对,没错,就是它,如果你想要编译一个控件的各个事件,就单击这个窗体,在它的属性旁边有一个小闪电,那就是它所有的事件。

继承选择器错误



该问题生成的原因是可执行文件不可用,解决办法是重新生成并运行一遍程序,生成窗体的可执行文件。

总结

机房重构的过程中,总结是不能间断的,它检验了我们的知识,锻炼了我们的能力,记录了我们的成长。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: