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& ...
随机推荐
- AHOI2018训练日程(3.10~4.12)
(总计:共90题) 3.10~3.16:17题 3.17~3.23:6题 3.24~3.30:17题 3.31~4.6:21题 4.7~4.12:29题 ZJOI&&FJOI(6题) ...
- fir.im Weekly - 嘘,关于***!
上 Github 交友刷 StackOverflow 解惑,是攻城狮必备技能,加快打怪练级速度.关于,@左耳朵耗子 在微博上分享了一篇文档,轻一点教你建一个VPN服务器,重一点到教你在路由器上***, ...
- SpringBoot 解决时区问题
SpringBoot 解决时区问题 1.在启动类加上 @PostConstruct void setDefaultTimezone() { TimeZone.setDefault(TimeZone.g ...
- 设计模式 -- 访问者模式(Visitor)
写在前面的话:读书破万卷,编码如有神--------------------------------------------------------------------主要内容包括: 初识访问者模 ...
- python开发_tarfile_文档归档压缩|解压缩
''' python中的tarfile模块实现文档的归档压缩和解压缩 功能: 把工作空间下面的所有文件,打包生成一个tar文件 同时提供一个方法把该tar文件中的一些文件解压缩到 指定的目录中 ''' ...
- [转]String.Replace 和 String.ReplaceAll 的区别
JAVA 中的 replace replaceAll 问题: 测试code System.out.println("1234567890abcdef -----> "+&qu ...
- [转] Android 命名规范 (提高代码可以读性)
Android命名规范编码习惯 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的 审查和修改过程中就会浪费 ...
- [转]HorizontalScrollView介绍--支持水平滚动的android布局容器
类概述 用 于布局的容器,可以放置让用户使用滚动条查看的视图层次结构,允许视图结构比手机的屏幕大.HorizontalScrollView是一种 FrameLayout(框架布局),其子项被滚动查看时 ...
- HDU 1287 MC挖矿世界 set bfs
MC挖矿世界 题目连接: http://acm.uestc.edu.cn/#/problem/show/1287 Description 银牌爷和柱神开始玩MC啦,但是怪物实在是太多了,于是银牌爷决定 ...
- 发现一个可以搜索常用rpm包的地址(http://www.rpmfind.net/)
http://www.rpmfind.net/ 虽然资源不多,但也够用.