前言
机房将要进行完了,之所以仍然使用这个题目,是由于我想告诉自己。无论面对多么未知的事物。不要害怕,去做就好。在这么多天的机房重构中,发现了好多问题,也攻克了好多问题,今天,就把我解决的问题分享给大家。
充值中的分行显示
在充值和退卡功能窗口中,我们会将一些信息分行显示到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找不到了,直到,。,我在百度的时候看到了三个字:小闪电!对。没错。就是它,假设你想要编译一个控件的各个事件。就单击这个窗口,在它的属性旁边有一个小闪电,那就是它全部的事件。
继承选择器错误
该问题生成的原因是可运行文件不可用,解决的方法是又一次生成并运行一遍程序,生成窗口的可运行文件。
总结
机房重构的过程中。总结是不能间断的。它检验了我们的知识。锻炼了我们的能力,记录了我们的成长。