C#基础视频教程3.1 常见控件类型和使用方法
可以从左侧的工具箱中找到常见的控件(你要在Form1这种窗体上)

为了方便你也可以把工具箱整个拖过去,这样从上到下控件都给你排好了

对于按钮来说,最常见的就是他的背景颜色,文字,字体,还有是否启用(我们输入按钮名称+点就可以访问这个控件的所有属性,事件和方法,注意属性是一把扳手的标识,事件是一个闪电,方法是一个小方块)

详细解释一下属性:我们先判断这个按钮是否已经Enabled(这里判断的就是按钮2的属性,属性就好比一个人有他的属性,身高,年龄,体重,姓名,性别,有一些属性是只读的,有一些是可读写的,对于控件按钮来说,他的属性也就是所有图标为扳手的东西,他的Enabled属性可以读也可以改,我们还可以读写他的背景色,文字,字体,大小,位置等等属性)

如果我选中了整个Form也可以访问到这个控件的所有属性(如果不是可视化的元素,而是自定义的类,那么就只能类或者类的实例+点看到他的所有属性了)

详细解释一下事件:事件是用来绑定方法的,也就是说按钮这个控件有很多事件,鼠标移入,鼠标移出,鼠标按下,鼠标弹起(如同人也可以有很多事件,比如睡着了,醒了,哭了,笑了,这些都是程序员自己定义的,我们后面自己封装控件和类的时候也可以自己定义事件),我们可以定义成鼠标按下和弹起的时候整个窗体改变背景色(注意写法,只要+=然后Tab会自动补全。可以想象Person张三.Smile事件 +=XXX方法,在XXX方法中定义这个人如果笑了就怎么怎么样,比如给他一巴掌,再让他哭)

为什么我们往窗体上拖放了一个按钮,点击之后自动可以写干什么,这也是微软帮我们自动的做了一步,点击之后他也自动创建了一条事件-方法的绑定(在Form1.Designer.cs文件里面),所以我们可以直接跳转到void btnTest1_Click的方法里去直接写干什么(读者可以自己尝试如果删了这一行会怎么样)

详细解释一下方法:我们选中了Form1,然后可以切换到他的事件里面,直接在Load事件里面鼠标双击,然后在窗体Load事件所执行的方法中写入btnTest1.PerformClick,这样我们就成功调用了这个按钮的方法(初始化的时候就默认点击一次)

他控件自带的方法参数是(object sender, EventArgs e)看起来怪怪的,这个不需要管他,如果是自定义的方法,就只要用到我们前面讲的基本数据类型,你想清楚这个方法输入什么,输出什么就完了。一般一个函数只会有一个输出,或者没有输出,但是可以有一个或者多个输入(或者没有输入),读者可以自己写一些方法测试运行,能熟练的自己写方法,是判断是否入门的重要标志,以后我们碰到一个实际问题的时候,总是需要想清楚大概需要哪些方法,每个方法需要什么输入,什么输出,把最关键的功能实现了,整个项目基本就预估能不能搞定,多久能搞定。

复选框checkbox和单选框radioButton应该放在一起讲。因为复选框是可以多选的,所以无所谓,单选框只能选一个,所以要把一组的单选框用一个panel包起来(比如性别要么男要么女,必须选一个,也只能选一个,那么性别这个组就要用一个panel包起来,此外可以有其他组,比如文科生/理科生,不同的组要分开),不管是单选框还是复选框,都只需要了解Check的属性可以读写就行了

Combobox这个控件一般是用来做不让用户写的(防止写错,想要详细研究用法的可以百度搜一下C#的三级联动菜单,经常发快递的时候肯定要用到省/市/县这种联动菜单,不让用户乱写可以防止出错),读者暂时只需要会简单的删除,增加和设置默认项目,获取当前内容即可(其实还需要防止Combobox被人为的修改数值,可以百度或者搜C#的FAQ找到答案)

讲到Combobox就有对比的ListBox,ListBox其实可以比Combobox有更多的属性和方法可以弄,比如可以多选,可以有右击菜单之类的,再此也不一一详细解释(还是只要会增加,删除,获取内容即可)

滚动条(progressbar)和拖动条(trackbar)也可以放在一起讲,两个都是有最大值,最小值,当前值(注意都是整数类型),区别就是trackbar是可以读写的,而progressbar是只能看不能改(如果你程序中不能判断你的数据是否会超过滚动条的最大值最小值,还是要做判断防止非法,否则程序会报错)

PictureBox就是放一个图像,我们最好先把Picturebox调整到跟图片一样的大小(当然也可以设置初始化的图片,错误的图片)

注意图片的来源,点开项目中的Resources.resx,然后添加图片进去(你也可以新建一个其他名称的资源文件,resx后缀的就是资源文件,我们放到这里面之后就可以在程序中轻松的访问这些图片,也可以是其他类型)

这样我们随时可以直接Properties.Resources.就显示出来了他所有的资源(我们导入图片的时候名字是1,2,3可能不允许这种直接数字的名称,自动改成了_1,_2,_3)

TextBox和RichTextBox也可以放在一起讲,注意勾选了MultiLine的Textbox也是可以直接多行的,而RichTextBox比传统的TextBox的好处就是更适合处理大量文本(具体两个控件能放多少文本百度就知道了)

此外RichTextBox更像是Word可以放图片,超链接文本,而TextBox更像是记事本,只能放普通字符串(具体RichTextBox如何演变成一个Word还是需要大量处理的,下一小节会介绍别人做好的牛逼第三方控件,初学者没必要花大量事件去研究一个控件,尤其是C#的程序员只要会拖控件就行了)

Label和LinkLabel都是可以实现超链接的(实际上LinkLabel不常用,因为我们不是在做网站,很少需要一个超链接到哪里去,做程序Label用的很多,经常需要显示一些文本,变量的变化情况等)

再看几个全局的控件,MenuStrip就是顶部的菜单栏(Visual Studio本身就是一个很好的说明)

与之对应的有右键的菜单栏,拖放一个ContextMenuStrip,然后虽然他显示在窗体顶部,其实运行的时候他是隐藏的,你可以在前面的listBox上设置右击就用这个右键菜单(在工具栏搜索menu就可以快速定位到这些不常用控件,要做菜单就是搜menu,要做按钮就是搜button)

除了大的菜单栏,大部分软件还会有工具栏(在工具栏搜索strip就可以快速定位到这些不常用控件,比较小的一行文字或者图标,一般在顶部菜单栏下方或者底部位置也放一排,这样可以让整个软件显得很规范,很好用),这两个分别对应了toolStrip和statusStrip,注意他们的默认属性Dock(就是靠在个窗体的哪个位置,默认是Top和Bottom,就是居于顶部和底部的,你也可以改成None然后就可以任意拖放位置了),当然这些复杂的控件编排我们暂时不需要掌握,只要知道有这么回事。

最后介绍一个不太常用的日历控件(选择一个起始时间和结束时间,可能买机票,定酒店的时候用得到,但是C#一般不会用来做这个),我可以鼠标从9选择到12,会自动显示起始时间和终止时间,并计算差的天数(比如你要订酒店要几天也应该这么算出来,更加详细的可能还要精确到几点到几点,但是这里只是简单涉及了DataTime和TimeSpan这些C#定义好的时间类型,我们还是只要会拿过来用就行了)

更多教学视频和资料下载,欢迎关注以下信息:
我的优酷空间:
http://i.youku.com/acetaohai123

我的在线论坛:
http://csrobot.gz01.bdysite.com/

问题交流:
QQ:910358960
C#基础视频教程3.1 常见控件类型和使用方法的更多相关文章
- C#基础视频教程3.3 常见控件类型和使用方法
前面介绍了微软的控件,也介绍了几个第三方控件,那么这些控件是如何做出来的?即便我们自己不做控件,也至少要理解控件的原理. 如果要创建一个自定义控件,首先新建一个C#下面的Windows窗体控件库 ...
- C#基础视频教程3.2 常见控件类型和使用方法
这一部分我们介绍如何使用第三方的控件,我们前面一节介绍了使用微软提供的官方控件,比较中规中矩,而且也不用担心稳定性.但是很多时候我们还是会希望用第三方的控件让自己的软件更美观,更独特. 就单纯的按钮, ...
- Android 中常见控件的介绍和使用
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题
转:http://blog.csdn.net/miragesky2049/article/details/7204882 SharePoint2010沙盒解决方案基础开发--关于TreeView树形控 ...
- C#中WindowsForm常见控件的运用
C#中WindowsForm常见控件的运用 -- 1.button(曹操,贡天子以令不臣): 属性;text:我们经常可以看见将按钮命名为“登入”,在其属性面板里面编辑text即可:如下图: ...
- C#常见控件与SQL Sever数据库交互
C#常见控件与SQL Sever数据库交互 下拉框(ComboBox)与数据库绑定 首先,我们采用DataSet作为临时的数据库,这样会比较好 那么,我们先创建两个成员(对象) string sqlc ...
- C#常用控件的属性以及方法(转载)
-----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...
- 基于DevExpress开发的GridView如何实现一列显示不同的控件类型
在很多DevExpress的使用例子里面,我们可以看到,基于GridView实现的不同控件展示的时候,每一列的控件类型都是一样的,如果我要某一列的一行让用户可以从下列列表选择选项,而其他行不可选择,那 ...
- [转] WinForm实现移除控件某个事件的方法
原文 WinForm实现移除控件某个事件的方法 本文实例讲述了WinForm实现移除控件某个事件的方法,供大家参考借鉴一下.具体功能代码如下: 主要功能部分代码如下: /// <summary& ...
随机推荐
- 【BZOJ 2436】 2436: [Noi2011]Noi嘉年华 (区间DP)
2436: [Noi2011]Noi嘉年华 Description NOI2011 在吉林大学开始啦!为了迎接来自全国各地最优秀的信息学选手,吉林大学决定举办两场盛大的 NOI 嘉年华活动,分在两个不 ...
- 【BZOJ 3090】 树形DP
3090: Coci2009 [podjela] Description 有 N 个农民, 他们住在 N 个不同的村子里. 这 N 个村子形成一棵树.每个农民初始时获得 X 的钱.每一次操作, 一个农 ...
- luoguP3250 [HNOI2016]网络 树链剖分 + 堆
机房某大佬告诉我,一条链在全局线段树中的区间最多有$log$段 因此同样的,代表不在这条链上的区间同样只有$log$段 对这$log$段区间进行维护即可 为了能够删除,在线段树的每个节点暴力维护一个堆 ...
- 【10.3校内测试【国庆七天乐!】】【DP+组合数学/容斥】【spfa多起点多终点+二进制分类】
最开始想的暴力DP是把天数作为一个维度所以怎么都没有办法优化,矩阵快速幂也是$O(n^3)$会爆炸. 但是没有想到另一个转移方程:定义$f[i][j]$表示每天都有值的$i$天,共消费出总值$j$的方 ...
- Unity 播放音频文件
Unity 播放音频文件参考代码: public void Play(string strSoundName, float autoDestroyTime = 0f, bool bLoop = fal ...
- mysql性能测试
mysqlslap mysql自带的工具使用非常方面: 使用语法如下: # mysqlslap [options] 常用参数 [options] 详细说明: --auto-generate-sql, ...
- python开发_python代码风格(coding style)
我们要做python开发,我想python中的代码风格我们有必要了解一下 这样对我们自己和他们所编写的代码都有好处的. 下面是8点重要代码风格注意事项: ONE : Use 4-space inden ...
- luoguoj 1598 垂直柱状图 模拟
P1598 垂直柱状图 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.luogu.org/problem/show?pid=1598 ...
- Git与SVN
http://www.nowamagic.net/academy/detail/48160207 前面提到,Linus一直痛恨CVS及SVN这些集中式的版本控制系统,为什么呢?Git是分布式版本控制系 ...
- 安卓之service简单介绍
一 什么是Service 二 如何使用Service 三 Service的生命周期 一 什么是Service Service,看名字就知道跟正常理解的“服务”差不多,后台运行,可交互这样的一个东西 ...