找回密码
 注册
搜索
查看: 40838|回复: 94
打印 上一主题 下一主题

[讨论] [24-11-2013] C# 新手入门教程——更新至教程#10   [复制链接]

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
跳转到指定楼层
1#
garyng 发表于 2011-12-15 16:11:50 |只看该作者 |正序浏览
本帖最后由 garyng 于 2013-11-24 14:55 编辑

点击我看目录



好久没过来这里了。。。

半年前
学了 批处理脚本(下面都简称“批处理”)语言

一个月前
学了那很多人都认为已经过时了的 Visual Basic 6(下面简称“VB6”)
VB6是1998 年的啊啊!(跟我同岁XDD)

写了很多 小软件
特此分享给大家。。。

没用的也有。。
实用的也有。。

看看吧~

好了
废话不多说
进入正题


1、学 批处理 以来 写过最大型的 脚本程序 -- Hosts文件修改器
官网、下载 点击这边

主要功能:
1、屏蔽网站
2、解除已屏蔽的网站


其他功能:
1、显示Hosts文件
2、统计Hosts文件内的链接数量
3、Hosts文件介绍
4、修复Hosts文件
5、备份Hosts文件
6、还原Hosts文件
7、检查更新
8、报虫(BUG)

本程序属于开源程序,要代码 可以跟我拿哟~
这个版本(v65)可能是Final版本了。。
可以说是“接近完美”
想不到有什么功能可以加进去了(有建议的话、也可以联络我哟)


2、还有一些些 关于 数学 的小程序(都是开源程序哦!)

“数字黑洞”篇


A、 495数字黑洞
下载地址

玩法介绍:
1、任取一个三位数的正整数(每位数字不要相同~)
2、从大到小排列那三位数的每一位数字--这称为第一数
3、再把第一数的数字倒反过来--这称为第二数
4、在第一和第二数之中,拿大数减小数
5、把得出来的结果在重复步骤一至五
看看会的到什么?

B、123数字黑洞
下载地址

玩法介绍:

1、选个任意长度的数字(别太大!)
2、数出这个数中的偶数个数
3、数出这个数中的奇数个数
4、然后再数出该数数字的总个数(都说了~别选太大的数!)
5、将答案按 “偶-奇-总” 的位序
6、重复步骤一至六
7、最终结果 一定 是 “123”

C、水仙花数字黑洞
下载地址

这个涉及比较深奥的数学知识~

附加技巧:
怎样判断一个数能否被3整除呢?
很简单~
1、把那个数目里的每一个数字加起来(称之为“数码和”),然后看看能否被3整除~
例子:
就拿1324756890
1、取数码和1+3+2+4+7+5+6+8+9+0=45
2、再来:4+5=9
3、9是3的倍数吧?(废话,谁都知道)
4、那么1324756890就能被3整除咯!!(不信试试除看!)

——————“数字黑洞”篇毕——————

3、也是 关于 数学知识的 批处理版 读心术
下载地址

4、让 批处理 程序 变得更美丽的 批处理进度条模块
下载地址

5、让 批处理 摆脱 黑底白字 的 CMD 一屏多色
用了系统自带的Debug 程序 写出来的
可能在某些 Windows 版本中无效~
原理解释的地址


6、说了那么多 “批处理”的东西;
都还没介绍 什么是批处理呀!
原文地址

批处理文件是指文件后缀名为“.bat”的文件,它的作用是可以一次批量执行大量的命令。这种文件在dos时期曾被大量使用,
win9x时期也有,但已经开始少用了,最典型的是autoexec.bat这个文件了。

1.什么是批处理文件?批处理文件的作用是什么?
批处理文件(Batch File,简称 BAT文件)是一种在DOS 下最常用的可执行文件。它具有灵活的操纵性,可适应各种复杂的计算
机操作。所谓的批处理,就是按规定的顺序自动执行若干个指定的DOS命令或程序。即是把原来一个一个执行的命令汇总起来,
成批的执行,而程序文件可以移植到其它电脑中运行,因此可以大大节省命令反复输入的繁琐。同时批处理文件还有一些编程的
特点,可以通过扩展参数来灵活的控制程序的执行,所以在日常工作中非常实用。

2.批处理文件的格式是什么?
批处理文件起源于DOS时代,在DOS时代的扩展名为.bat(即是batch的缩写),可使用Copy con、Edit、WPS等DOS
程序来编辑。 经时代的发展,现今批处理文件已经不止支持DOS下的程序,同时也支持Windows环境程序的运行,
在Windows NT以后的平台中,还加入了以.cmd为扩展名的批处理文件,其性能比.bat文件更加优越,
执行也与.bat文件一样方便快捷。
注:由于.bat文件是基于16平台下的程序,在Windows NT及以后的32位中运行时偶尔会出现堆栈溢出之类的错误,
所以建议在新的系统中尽可能的采用.cmd扩展的批处理文件代替.bat的文件。

3.如何来编写批处理文件?
其实编写批处理文件并没有什么编程环境的要求,任何一个文本编辑器都可以用来编写批处理文件,
像DOS下的Edit、WPS以及DOS自带的Copy命令的扩展copy con命令就可以编写,Windows下的记事本、写字板等。

4.批处理文件的工作平台。
由于批处理文件其实就是一个命令的集合,所以批处理文件的工作平台是由这些命令所工作的平台来决定,
今天我们在这里主要研究的是Microsoft环境下的批处理文件(.bat和.cmd文件),所以这里的平台,当然也就
是指Microsoft的DOS和Windows系统。

5.批处理文件的应用。
现今Windows环境已经如此普及,程序的运行只要点击几次鼠标就可以完成,所以造成很多人都已经不了解批处理文件的
作用,特别是那些新接触电脑的用户,而更多的了解它的人却是那些程序设计人员,但不可否认,批处理文件有很多优点是
其它程序所无法比拟的,最主要的优点就是编写环境的宽松,编写人员能力要求较低。
其实我们经常可以接触到批处理文件,只是我们很少注意而已,像Windows 9x启动时加载的Autoexec.bat文件就是一
个批处理文件,当然这个批处理文件是一个比较特殊的批处理文件,至于详细这个文件的相关介绍,大家可以到网上查看
相关的文档。另外就是我们安装程序的时候,经常可以看到有一个黑色的命令行窗口跳出来,这时其实大部分可能性它执
行的就是一个批处理文件。



7、我学 VB6 写的第一个小软件 -- Draw Pic

下载地址
这程序没什么 功能
娱乐罢了~
下一楼继续



已有 3 人评分学分 学币 收起 理由
chunyen2020 + 10 + 10 +
孤独少女 + 20 原创精华+ passion =)
sss2sssss + 20 + 20 超原创内容,继续加油!=)

总评分: 学分 + 30  学币 + 50   查看全部评分

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
95#
garyng 发表于 2013-11-24 15:11:12 |只看该作者

同样的

也可以用在加减乘除上:

4+4

8-3

5*2

10/5


还有就是你只要将a增加1的话,你可能这样写:

但是还有更加简便的方法!

a++就是a+1

还有也可以--

就是a-1

也可以放在前面

++a

--a

结果:

4+1

5-1


但是++或--放在前面和后面有分别!

我们来看看这样的代码:

运行的话:

你会发现v还是4

a却是5

为什么?

因为++在后面是post increment

就是说

int v = a++ 中

它会先让v 等于 a

然后才让a = a+1

如果把++放在前面就不同了:

a 和 v 的值都是一样的

因为在 int v = ++a中

它先往a + 1

然后赋值给v

部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
94#
garyng 发表于 2013-11-24 15:09:55 |只看该作者
本帖最后由 garyng 于 2013-11-24 15:11 编辑

看原帖请点我

你:要怎么做加减乘除啊?

其实很简单

照着写就好了!


先加入一个button 和一个 textbox

双击button进入event handler


你:我要2+3的结果出现在textbox1里面!

就这样:

但是你会发现到又报错了?

为啥?

很简单

因为

int 不能直接转换为textbox 可以接受的 string

所以我们来转换

还记得用什么么?

.ToString()!

如果你要更加简单的方法:

也行

运行看看:

点击button


现在你懂+是sum了

那减乘除呢?

就是-、*和/咯!

像这样:


但你点击divide 的时候

你得到的结构却是:

0!

为什么?

因为integer不能包含小数点!

所以我们将它换成一个Double:

或者你可以直接这样(suffix)

这里的D就代表2和3是一个double

然后结果就是:


Suffix列表:


Long
L
Double
D
Decimal
M
Float
F
Unsigned Int
U
Unsigned Long
UL

现在又有另一个情况:

如果 a = 4

然后你要 a+5 并把结果储存回 a

你可能会这样写:

但是

不觉得写两个a很费力么?( xD )

简短的方法:

你一样会得到8!



【文接下楼】


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
93#
garyng 发表于 2013-11-24 15:09:01 |只看该作者
本帖最后由 garyng 于 2013-11-24 15:09 编辑

看原帖请点我

之前介绍了if..else if .. else 结构

你;switch 又干嘛的?

我:恩..很简单,就像if .. else 的结构代替品,在特定的情况下,你可以打更少的代码!

你:例子例子!

现在在你的Form上加入一个TextBox 和一个 Button


双击button1(还记得event handler 么?)

现在你需要检测textbox1 的 text

1、如果是Hi,messagebox就显示Hello!
2、如果是Bye,messagebox 显示Bye!

(很像之前的if..else之中的sample吧?)

如果用之前的if..else 写的话:

写很多个 是不是很不爽?

现在看看switch 怎么写:

switch ()括弧中间就是你要检测的东西

这里就是 textbox1的text

然后{}里面呢,就是各种不同的情况(case)

case 跟着需要的情况,然后在加上一个冒号

而下一行就是需要运行的代码

这里就是messagebox显示Hello!

但是不要忘了break

break 就是

检测完这一个case后,直接跳出switch,不要在做任何检测

要清楚的解释这个

我们加入几个messagebox

然后运行试试看

首先输入Hi

点击Button后就会看到我们的messagebox Hello跳出来

点击Ok之后,你猜猜会出现什么?

After Switch!

清楚break的功用了吧?

你:我们的Bye情况呢?

一样!

现在我们来试试看

输入Hi,显示Hello

输入Bye,显示Goodbye

但是你乱输入的话

却什么都没有显示

你:为什么?

因为我们的switch没有这个case!

你:可是 if .. else 会handle 这种情况啊..

当然!switch 也能

如果所有的 case 都不符合的话

switch 会直接运行default内的代码:

不符合所有的case 的话

就会直接执行messagebox 显示 blablabla


当然

switch 不一定要string

什么类型都可以的!

比如:


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
92#
garyng 发表于 2013-11-24 15:08:25 |只看该作者
看原帖请点我【if..else】

之前我们用了两个if来检查MessageBox.Show 返回的值


你:有木有不打两个if 的方法?

我:没有..

你:一巴掌(啪

但是你可以用if .. else .. 来判断(你还是需要用到两个if,但是整个代码的结构会比较清晰)

之前的代码的运作流程是:

1、先检测msg是否为Yes,如果是,运行代码

2、不管之前的检测是不是Yes,检测msg是不是No,如果是,运行代码

有没有发现到,两个if,代表msg 始终 被检查了2次

但是如果msg 等于Yes的话,就代表他不会等于No,那我们只需要检查一次就够了

所以if .. else

在这儿就很好用了!

改进版的代码:


现在的代码流程就变成了

1、如果msg等于Yes,Messagebox显示Yes,然后整个if 结构运行完毕

2、如果msg 不等于Yes , MessageBox 显示No, 整个if 结构运行完毕

现在最少只需要检测1次就行了!


【if .. else if .. else】

在form 上加上一个textbox

然后在button 的 click event handler 之中清除之前的代码


现在我们要的是:

1、检测textbox1之中的text是不是等于Hello,如果是的话,Messagebox 显示Hi
2、检测textbox1之中的text是不是等于Bye,如果是的话,Messagebox 显示Goodbye
3、如果都不是Hello或者Bye,Messagebox 显示 I don’t understand

现在这里有3个条件了!

所以 if .. else 不够用了

用if .. else if .. else吧!

if .. else if .. else 很像多个if 一起用

但是结构会比较清晰

现在我们先用多个if 来实现

然后运行试试看:


但是如果不是Hi或者是Bye,却没有输出!

你:直接在if最下加入mesagebox 就好了嘛!

聪明!



但是一样的,多个if 就等于要有多个检测!

所以我们改成用if .. else if .. else 的话就变成了

如果是Hello,messagebox显示 Hi

如果是Bye ,messagebox 显示 Goodbye

如果都不是Hello 或者bye,Messagebox 显示 I don’t understand


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
91#
garyng 发表于 2013-11-24 15:07:26 |只看该作者
本帖最后由 garyng 于 2013-11-24 15:07 编辑

恩!


很好!


但是还能更好!


Message Box 返回的value 是一个 DialogResult


像这样:



DialogResult 里面有很多成员(members),我们要的是Yes:



然后显示一个MessageBox:



当然别忘了处理用户按了 No 按钮:



F5 编译运行后,你会发现竟然有2个MessageBox 跳出来!


为啥?


因为我们打了2次MessageBox.Show啊!


所以要用变量!变量!


你:MessageBox 返回是什么类型的啊?


我:就是DialogResult啊!


所以我们的变量类型是DialogResult!(有点点奇怪对吧?)





然后把两个if 里面的 MessageBox.show 换成 msg 变量:





完美运行!






PS: 我是不会让你知道其实还有更简单if.. else.. 写法!




部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
90#
garyng 发表于 2013-11-24 15:06:40 |只看该作者

看原帖请点我

之前在教程#5 你认识了那帅帅的MessageBox,而且知道了如何更改MessageBox的显示按钮(OK、Yes、No等等),于是你又问问题了

你:如果用户按下Yes的话,我就MessageBox弹出“Yes”,按下No的话,就MessageBox显示“No”要肿么样呢?

我们来分析(或者说写“伪代码”,就是不是代码的代码):

如果 用户按下“Yes”按钮
让 MessageBox 显示“Yes”
如果 用户按下“No”按钮
让 MessageBox 显示“No”

我:如果的英文叫啥?

你:If!

我:厉害厉害!

先让我们看看MessageBox的代码咋写:

在Windows Form 上添加一个Button

然后双击Button

先写个MessageBox,显示“Yes/No”

标题为“If Tests!”

然后设置显示的按钮是Yes和No罢了:


MessageBox 在用户点击的时候就会返回一个enum(先别管这个是啥)

用来表示用户点击了啥按钮

用来看MessageBox点击了什么按钮的方法就是:在用一个MessageBox来显示!

这里的.ToString()是一个方法(Method,或者是Function),它能(很神奇的)把所有object 转成String,为什么要转成String呢?因为MessageBox只接受String咯!

按下F5编译运行试试看:

点击Button就会看到这个MessageBox:

试试看点击“Yes”

就会有另外个MessageBox弹出,显示你刚才点击的按钮:

雷吧?

你:我不要MessageBox里面又有MessageBox的啦!我不要我不要!

好吧,教程#5教过用变量了吧?

现在用吧!

我们知道

MessageBox.Show("Yes/No","If tests..",MessageBoxButtons.YesNo).ToString()



是string吧!创建一个string变量来储存MessageBox返回的参数

然后在用MessageBox show 那个变量里面的值:

好啦好啦:

运行!

然后:


你:Where is my IF ?

正题来了,先删除之前写过的代码,我们“砍掉”重练!

if 的格式是这样的:

if ( Boolean Expression){    //Body}

//Body

里面就是当Boolean Expression 为True 时运行的代码

你:Boolean Expression是啥?

Boolean Expression就是多个relational operator 组成的“公式”:

假设我用有

变量A = 20
变量B = 30

Operators
Description
Example
==
如果两边(就是'=='的之前和之后)相等,就返回True
(A == B) 为 False ,A 不等于 B
!=
如果两边不相等,返回True
(A != B) 为 True,A 不等于B
>
如果左边大过右边,返回True
(A > B) 为 False, A 小过 B
<
如果左边小过右边,返回True
(A < B) 为 True,A 小过 B
>=
如果左边大于等于右边,返回True
(A >= B) 为 False
<=
如果左边小于等于右边,返回True
(A <= B) 为 True

像数学对吧?

现在来看看基本的if 如何写:

定义两个int 变量,

A 为 20
B 为 30

(就像上面那样)

现在来看看 == 运算符吧 然后运行看看MessageBox 并没有弹出来你:为啥?我:因为A 不等于 B 咯!

再试试!= 看看:



然后运行:



明白了么?




要如何判断用户点击了Message Box 上的什么按钮呢?


你可能会兴奋地写出:



【文接下楼】


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
89#
garyng 发表于 2013-11-24 15:05:53 |只看该作者

你:我不喜欢波浪线啊啊啊啊啊啊!!!因为age是一个int类型,但是MessageBox.Show 方法只接受string为类型的变量,你要如何转换呢?用.ToString()方法(记得那两个括号!):

Converts the numeric value … to its equivalent string
运行!
所以现在知道如何定义变量了吧?
<type> <name> = <value>;
其实<value>也就是变量的值,大多数可以不用在定义的时候赋值:
你的hello值默认为null【如何更改变量值】你:如果我要更改变量的值怎么办?你有两种方法——1、直接修改本来的值
但是如果你要在程序运行的时候更改呢?2、像定义变量的时候——运用“=”符号运行试试看:


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
88#
garyng 发表于 2013-11-24 15:05:15 |只看该作者

看原帖请点我

你的一只脚开始踏入编程的门槛内了!

【变量?变量!】

你:变量是啥?变量是啥?告诉我呀!

我:恩..变量..变量..

你:(一巴掌过来

我:..变量,你可以想象成一个大桶,里面有水,水的分量呢,由你而定,你可以随时倒掉一些水,或清空它;或者你可以加进一些水..这就是变量。

变量是某种数据的载体,用来储存数据用的(废话),但是变量的值(也就是桶里面装的水),可以随时改变,所以才叫“变”量嘛!

C# 内的变量有很多类型,就像不同的桶只可以装特定的东西——垃圾桶啥都装、笔筒只放笔、水桶装液体等等

【数据类型】

我们深入谈变量之前,先来了解数据类型,也就是“桶的种类”

C#有不同的数据类型,这里我列出并解释一些:

1、bool

- Boolean

- 储存 true或者是 false


2、byte

- 8-bit unsigned integer

- 储存0 到255


3、char

- 16-bit Unicode character

- 储存(单个)unicode字符


4、decimal

- 128-bit precise decimal value

- 储存数值,大概29位精确度


5、double

- 64-bit double-precision floating point type

-也是储存数值的,精度较低,范围较大


6、float

- 32-bit single-precision floating point type

- 于double 类似,但是储存范围较小


7、int

- 32-bit signed integer type

- 常用类型,储存-2^31 到 2^31-1 之间的值


8、long

- 64-bit signed integer type

- 常用类型,类似int,储存范围-923,372,036,854,775,808 到 9,223,372,036,854,775,807


当然还有string,它就不解释了!就是储存string嘛!


其他还有sbyte,short,uint,ulong,ushort 等等

s代表"signed"就是能储存负数的,"u"就是unsigned,不能储存负数


【如何定义变量】


你:我把上面的表啃完了,现在要做啥?

我:..我可没叫你把它全都记下来呢..

现在,来看看如何定义变量——就是说如何制作“桶”

我们继续用上一个教程的project file —— Show Messagebox



你:我要怎么样把"Hello,World!"换成变量?

我:记得"Hello,World!"属于什么类型吗?

你:String!

就是string了,所以现在在MessageBox.Show上面输入string:



然后string 后面就是变量的名字,就给个hello吧!


注意,C# 里面变量的名字是区分大小写的,就是说hello 和 Hello 或者是 hEllo 还是 HEllo 都是不同的变量!


你创建了一个桶,有名字了,现在就是给它“倒水”——

给变量一个值,就得用“=”号:


然后就是你要的值,这里就是"Hello,World!",记得所有语句以分号;结尾——


现在如果要在MessageBox 内调用的话,就直接输入变量的名称——


编译>运行


你:如果我要储存一个数字呢?

很简单,用int 类型!

你兴奋的输入了:



【文接下楼】



部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
87#
garyng 发表于 2013-11-24 15:04:13 |只看该作者

你:这是神马状况?是神马状况?你说啊你说啊!


为什么会有红色波浪线?因为VS把Hello,World!当成是一个代码了,然后它很努力的往他的脑袋搜索Hello,World!代表着什么,N秒后发现到脑袋内竟然没有这个东东,于是弱弱的画了波浪线给你(很像老师批改考卷吧?)


你:说重点!


好好好,记住了:所有的非代码(就是不要VS往脑里搜的,这里是指字串,string),都要加上开关引号——""(如果你不知道开关引号是啥:就是在Enter旁边的那个按键xD)


于是你打下了MessageBox.Show(“Hello,World!”)





你:这又是神马情况?为啥还有波浪的!


我:为什么会有波浪线?因为VS..


你:说重点!


记住了:所有的代码(当然有一些除外),末端要加上一个分号; (如果你又不知道分号是啥,就是那个在Enter的旁边的旁边那个按键xDD)


因为你要让VS知道该代码在那一行停下,就是我们的句号那样 "。"


所以正确的代码就是:





你:然后呢?


我:按下那个代表着成功的按键!


你:啥?


就是debug键啦——F5或者是上方的





然后就会看到这个:





看到button了么?


用尽全力点下他!





你成功了!




【更换标题】


你:为啥没有标题的?


恩..good question!


现在点击"Hello,World!"后面(括号前面),然后输入一个逗号,


然后救世主出来了:





看到旁边的么?


现在按“下”键(不是下x贱…,是那个方向键),一直到你看到这个:





caption是啥?标题!


然后..你懂的:



然后编译,点击button:





有木有觉得很有成就感?




【更换按钮】


你:我可以换掉那个OK按钮么?能不能放"Hello,World!"?


我:..你怎么发现了 不!!


是不是MessageBox的OK按钮很单调、无聊?按钮是可以改的,.net 给你了一堆option让你更改MessageBox显示的按钮,至于更换成"Hello,World!"的话..对不起,暂时没有 xD


在加个逗号,按下N次下键后,你会看到这个:





你:MessageBoxButtons是来的?


MessageBoxButtons 是一个enum,至于enum是啥..恩..现在不说先xD


只要输入 MessageBoxButtons然后加上一个 .  就会看到N个种类:






看到了没?


有AbortRetryIgnore,OK,OKCancel,RetryCancel,YesNo,YesNoCancel


比如说OK,MessageBox上面就只是显示OK


YesNo呢,就是Yes 和 No 咯!


咱们试试YesNo看看:





然后编译、运行:





你佩服自己么?




【更换Form标题】


你:在弱弱问一个:能不能更换那个Form的标题啊?我不要Form1..


我:Properties!Properties!


点击Form 找到Text 属性!更改!(激动中)







好了..MessageBox教到此.. 再见!


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
86#
garyng 发表于 2013-11-24 15:03:17 |只看该作者

看原帖请点我

现在进入灰常好玩的地方——我们开始写代码!(这让我想起——【题外话】一首诗歌-写代码


【如何显示代码编辑器】

如果你忘了——点击form,按下F7

或者是右键点击form > 点击View Code

就会有这个了:


【基本设置】

先不谈代码,往form添加一个新的button,然后更改text 为 "Click Me!"


【初探Function】

双击button,你会看到在原本的代码上加了新的代码:


这就是一个标准的function (其实是个event的function,先别管这些)private、void 等等这些东西先别管,免得混淆了(你只要知道这是一个function就就对了)我们来看看button1_click,很明显吧?就是button1 被click 的时候,这个function就会被运行,至于括弧里面的是参数运行?运行什么?就是运行在花括号内{}的代码!
【初探Intellisense】

消息框的英文是啥?


Message Box! 所以要显示message box 就必须呼叫message box!


于是兴致勃勃的打下message box


咦?等等,VS跳出来的这东西是啥?




这就是Intellisense,华文叫啥?我不知道!


总之它是auto-complete的好帮手


看到VS帮你focus在 MessageBox上了么?直接按下Enter键,它就会帮你打好了!(快吧!)





【显示MessageBox】

OK,现在我们有MessageBox了,要咋才能跳出一个框框?


我:显示的英文叫啥?


你:Show!


我:所以显示MessageBox叫啥?


你:Show MessageBox!


我:我汗!


好啦好啦,对了差不对一半了


正确的是MessageBox.Show,因为要show的是MessageBox ,MessageBox为主,show为副,所以就MessageBox.Show啦!


看到了没?可爱的Intellisense又出来了,猛打enter!





你:等等!我要显示的字串放哪里啊?


恩..这问题问得好!


之前已经打了MessageBox.Show对吧:





就如function的括弧一样,在打下一个括弧


然后Intellisense又出来了!





System.Windows.Forms.DialogResult MessageBox.Show(string text)


string text是啥?


就是一个为类型为string(顾名思义就是字串啦!)的变量text!


你:所以呢?


我:汗!那么明显了看不出来么..


就是把要显示的字串放在括弧之间啦!


然后你又兴致勃勃地打入MessageBox.Show(Hello,World!)


接着VS就帮你画了个很漂亮的波浪线给你:



【文接下楼】



部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
85#
garyng 发表于 2013-11-24 15:01:43 |只看该作者
看原帖请点我【Form Designer是啥?】

首先打开VS,创建一个新的Solution:

默认看到的窗口就是这个:



这个就是Form Designer!它的功能就是给你添加、删除控件,编辑“可视化”的部分。在这里添加的控件等等就是编译过后“看得到”的部分,看不到的部分就是代码啦!

如何分辨Form Designer?

看上方TAB的内容,如果有“Design”的就是了!

如果你不小心关掉Form Designer 了,可以到Solution Explorer 双击form 就可以打开了


【更改Form大小】

如果要更改Form大小,拖着Form框边的小正方形:


然后拖拉就可以更改Form 大小


【添加控件】

打开Toolbox,然后点击需要添加的控件(比如说button)



你会发现到你的cursor 变成了:

然后点击Form 就可以添加button:



【更改控件大小】

注意到空间周围的白色小框框了没?就像更改form的大小一样,拖着他们就可以直接更改大小了!

注:如果一些控件没有该白色框,那就代表该控件不能改变大小!

注2:你可能会注意到groupbox有一个额外的小按钮:

那个是给你拖越控件用的:


【对齐控件】

当你在移动控件的时候,你会发现到那些蓝线:

那个是用来对齐控件的,很好用对吧?

【更改显示的文字】

Button 默认显示的文字是“buttonX”,其中X是1,2,3,4,5…等等,看上去很boring对吧?

如果你要更改button的text(或者其他控件显示的文字)

先点击需要更改Text的 button > 然后点击Properties (或者按下F4)>  然后找到"text"属性:

在这边就可以直接更改button的text了


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
84#
garyng 发表于 2013-11-24 15:00:09 |只看该作者

看原帖请点我


【Solution Explorer里面的东西都是啥?】

这里先解释下Solution Explorer里面的东西代表什么:

1、Properties 就是整个solution (也就是project)的属性


双击过后就会看到这个页面,这里就是整个solution的属性:



2、References

这里包含了整个solution的references,至于什么是references呢,恩..先别管..



3、余下的就是程序所需的文件


Program.cs 包含了程序的入口,这是几乎每个solution都必须的

Form1.cs 就是你的程序了

Form1.Designer.cs 是VS用来给你编辑程序界面的,这个文件不必去管它,因为都是由VS来控制的


【如何查看程序代码?】

之前我们了解了基本的VS界面操作,那要怎么编写代码呢?

如果要查看代码,可以在Solution Explorer > 右键需要显示代码的文件 > 点击View Code,或者你可以直接按下F7


过后就会看到这个窗口(你的窗口可能跟我的不一样,不用紧的,功能是一样的),这个就是用来编辑代码的窗口了:


【我的Project储存在哪儿?】

如果你的Create New Project的页面是这样的:


这是代表你创建的Project是临时的,你必须储存Project,你才会看到你的Project文件夹。按下Ctrl + Shift + S,然后选择储存project的路径就可以了:


如果你的Create New Project 的对话框是这样的话:


这代表创建Project的时候已经储存的project,那你可以直接到储存的路径来找到project files(比如我把我的project储存在f:\users\garyng\documents\visual studio 2010\projects里面)

【如何调试程序?】

要编译程序的话,可以点击上方的类似start按钮,或者你可以直接按下F5:


如果你找不到这个按钮,你可以到View > Toolbars > Standard显示它:


【Project文件里面都是些什么?】

打开你的project文件夹,你会看到这些东西:


*.sln 是你的solution文件,点击他就可以直接以VS打开文件

*.suo 这我不确定..


打开WindowsFormsApplication2的文件夹(你的可能跟我的不一样),你会看到:


*.cs 是储存代码的文件

*.csproj 这个类似*.sln文件

*.user 这个似乎类似*.sln文件


bin 文件夹包含:

Debug 和 Release 都大同小异,里面都包含你的exe程序

Properties 文件包含project的属性文件:



部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
83#
garyng 发表于 2013-11-24 14:57:36 |只看该作者
【主界面】

首先你得打开你的Visual Studio 2010 (废话,还有一下吧Visual Studio 2010 写成VS2010或者VS),先来看看VS的界面(笔者用VS2010 Ultimate,然后装了一些Plugin,如果你的跟我的不一样,别怕,没关系的)


【如何创建新的Project?】

开了VS要做啥呢?当然是新建一个project!那要如何建立一个project 呢?有两种方法:

1、点击File > New > Project


2、如果你懒惰移动滑鼠的话,你也可以直接按下Ctrl+Shift+N(记下这些快捷键,会节省很多时间的!)

过后你会看到这个窗口


点击Visual C# > Windows Forms Application,在Name那儿给你的程序一个名字,然后你的程序就要诞生了!(兴奋么?)


如果你看不到Visual C#这个项目,你得展开Other Language,在里面找应该有的:


【编辑主界面】

创建新的project 之后,就会看到这些(或者是类似的),而且你基本上必须这些东西:

1、Toolbox

这里有所有的窗体控件,可以直接拖拉到程序窗体上,比如说我要增加一个Button控件,就可以按着Button,然后拖到Form Designer 那儿放下:



如果你的VS没有Toolbox,可以到View > Toolbox 显示它:


2、Error List

这里显示代码的错误、或者是warnings等等


如果VS没有呢,就到View > Error List 那儿显示


3、Solution Explorer

这里是显示你的project 有什么文件等等


没有显示的话,可以到View > Solution Explorer


4、Properies

这是显示控件、窗体等等所拥有的properties(属性),还有event(事件)

例如这里显示了Button的属性


你可以到View > Properties 显示它


如果你不要一些窗口,可以点击上方的小打叉关闭:


而如果你要把它hide起来呢,就点击上方的pin按钮(这只是暂时性隐藏,如果要显示的话,可以把滑鼠hover旁边的按钮,或者是点击,看图会比较明白)

如果要恢复显示,就把滑鼠hover在旁边的按钮:


【要怎么保存project?】

你可以到File > Save xxx.cs来保存当前编辑着的文件,或者是按下Ctrl + S



也可以点击Save All 来保存所有文件,或者是按下Ctrl + Shift + S



部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

Rank: 3

帖子
313
学币
1285
学分
278
贡献
0
贝壳
10
文采
0
82#
garyng 发表于 2013-11-24 14:56:56 |只看该作者
看原帖请点我【写在前面的话】

其实想写教程很久了,但是没有足够的功底,所以也不敢胡乱写一通。现在就整理一下思绪,一点一点的写。


如果你不懂什么是C#,或者完全没有接触过任何编程语言,这个教程写给你的,但是你得知道怎么好好的操作电脑,比如按装程序、卸载等等,如果你不熟悉的话,那,对不起,这个教程基本上不适合你(当然你还可以看,但是你得花很多时间慢慢消化)。


如果教程中有什么错误等等,请大胆指出(当然别骂粗话..),我会尽快更改的。


【什么是C#?】

恩..C# 是Microsoft (别告诉我你连微软都不知道是啥..)基于.net 框架开发的语言,这代表如果你要运行C#程序,你得安装.net framework,而且C#不是跨平台的语言,这代表你不能在Linux或者是Mac 上面运行你的C# 程序。

(当然有一个开源的.net 框架叫做Mono,他能跨平台运行.net程序,但是,我不会写关于mono的教程,因为,我也不会用..)


【C#怎么发音?】

这..C#呢,不是读c hash,而是c sharp,为什么?别问我问Microsoft!


不过C# 其实不是写作C#,而是C♯,但是因为太难打了,键盘上也没有这个符号(这符号是我去Google回来的),所以就标准化将♯写成#,所以呢,C#就这样来了!


【怎么写C#程序?】

哈哈,问到重点了!写程序呢,要有一个编辑器、编译器,或者说——IDE,有很多IDE(别写成DIE了!)支援.net开发,比如说SharpDevelop,还有之前说过的Mono,当然,你可以下载试用他们,因为他们都是免费的、开源的。


但是我建议你们使用Microsoft 的 Visual Studio ,有Express 版本是免费的,只要你有Hotmail,你就可以免费获取激活Visual Studio的序列号,当然Visual Studio 还有Pro,Ultimate版本的,但是都是收费的(Microsoft 开发的嘛,你知道的)。


这个教程中,我会Microsoft Visual Studio 2010 版本的,所以你也得下载2010版本的(其实2012、2013也可以的..),你可以来这边下载Visual Studio 2010 Express(http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express),你可以选择只下载C#的,或者是All in one的,你还得注册获取序列号。


如果你不喜欢Express呢(或者你觉得Express这个字眼代表了N的功能被阉割)?嘿嘿,用Ultimate 版本的吧!

我之前发过一篇文章——【分享】【VS】Visual Studio 2010 + 2012 下载地址 里面有VS2010 和 2012 的torrent下载链接,在那儿下载、安装(别说你不懂怎么安装..),一切就准备好了!


部落格:http://garyngzhongbo.blogspot.com

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

Archiver|手机版|xuehaiblog

GMT+8, 2025-1-13 21:27 , Processed in 0.027318 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Template By Yeei. Comsenz Inc.

回顶部