第二篇帖子很无聊吧?
看不懂也没什么关系,好好接受以后的知识就行,但是要记住只要不不懂的地方一定要弄懂,可以去查资料,也可以在下面发帖问我.
然后进入这次的学习.这篇帖子会接受控件的相关概念,如属性和事件,然后介绍如何响应各种事件.
以后的帖子都会像这次的一样,介绍一到两个可视化编程的知识点,都不会很长,
但是实际动手操作的地方会比以前多很多,希望大家能亲自动手实验.
控件
首先新建一个工程.大家应该还记得一开始介绍的工具栏吧?里面就有我们需要的各种各样的控件.
那控件有是什么呢?
广义上来说控件是对数据和方法的封装。控件可以有自己的属性和方法。
这点是不是和类非常像呢?差不多可以认为一种控件就是一个类,单个的控件就是这个类的对象.
本帖以后所说的控件,具体指的是微软已经给我们写好的那些,也就是工具栏中的那些,我们只要拿来用就好了.
控件使得可视化编程变得非常的方便.
Winform程序的开发,很大一部分是通过设置各种各样的控件完成的.
在C#中,控件除了拥有属性和行为(函数)外,还有事件.
什么是事件呢?
和现实生活中的事件一样,对于一个对象(例如一个人),他不只有打人这个行为(函数),也会有正在打人这个事件.
当一个人打人的时候,就会发生在打人这个事件.
我们可以为这个事件添加一个响应它的函数,以便在这个事件发生的时候做一些我们需要的操作.
这次的帖子只会用到一个控件,Button控件,也就是按钮控件.
添加按钮控件非常简单,直接从工具箱中选中拖出来就好了.得到下图.
然后选中按钮控件,在属性面板中可以看到它具有很多的属性,我们能修改这些属性已达到我们想要的效果.
例如我们修改这个按钮的Text属性,按钮上显示的文字就会被改变.
当然还有其他很多属性,例如位置啊,大小啊,文字的字体等等.
然后进入控件的事件面板(就是属性面板旁边的小闪电)
下面的已经描述的很清楚了,当按钮被点击(Click)的时候(就是按钮发生了点击这个事件)做出某种响应的操作.
我们可以点击一下Click后面的文字框,输入一个自己定的函数名(或者点2下,vs会自动填一个函数名),然后双击它,vs就会自动为我们这个点击事件生成一个响应它的函数.
可以看到系统生成的这个参数会自动带了2个参数进来,这个到后面讲.
在这个函数中输入以前经常用的代码.
MessageBox.Show(“有种继续点”);
然后点击运行(F5)
点击一下按钮
现在可以理解事件的概念了吧?
下面我们来点复杂的,响应键盘输入.
把刚刚新建的按钮删掉,选择整个窗口.
这时候我们会发现窗口其实和控件一样,也有属性和事件.
在窗口的事件中,我们在KeyDown事件后加入响应函数.
在这个函数中添加如下的代码
MessageBox.Show(e.KeyCode.ToString());
解释一下,可以看到e是KeyEventArgs类的一个对象,这个类提供了键盘按下,这个事件的所有信息.
例如你在打人,你打的是谁呢?打了多久呢?都是系统通过这个参数传递给我们的.
其中e.KyeCode指的是这次按下的是哪个键,
ToString()就是把这个键转换成字符串方便我们输出啦.
运行下看看效果.
在运行中随便按下一个键试试.
如何?很有意思吧?
上面就是这次的全部内容.
这次,我介绍了控件和事件的概念
也通过响应发生的事件弹出了各种各样的对话框.
作业:
1.每次点击按钮都弹出不同的文字。
2.判断按键,只有按下的键是 5,4,2,B的时候才弹出窗口。
3.想想为什么要响应键盘就要删掉按钮呢?
附上第二个作业(第一个木有看懂的说o(╯□╰)o)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_KeyDown(object sender, KeyEventArgs e) { switch(e.KeyCode) { case Keys.D4: case Keys.D3: case Keys.B: MessageBox.Show(e.KeyCode.ToString()); break; default: break; } } } } |
这个是vs的程序所以看起来和vb差不多
WinForm…跟我学的一样
怎么看着是vb,面向对象编程