可以从左侧的工具箱中找到常见的控件(你要在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

邮箱:acetaohai123@163.com

 

 

 

C#基础视频教程3.1 常见控件类型和使用方法的更多相关文章

  1. C#基础视频教程3.3 常见控件类型和使用方法

    前面介绍了微软的控件,也介绍了几个第三方控件,那么这些控件是如何做出来的?即便我们自己不做控件,也至少要理解控件的原理. 如果要创建一个自定义控件,首先新建一个C#下面的Windows窗体控件库   ...

  2. C#基础视频教程3.2 常见控件类型和使用方法

    这一部分我们介绍如何使用第三方的控件,我们前面一节介绍了使用微软提供的官方控件,比较中规中矩,而且也不用担心稳定性.但是很多时候我们还是会希望用第三方的控件让自己的软件更美观,更独特. 就单纯的按钮, ...

  3. Android 中常见控件的介绍和使用

    1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...

  4. SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题

    转:http://blog.csdn.net/miragesky2049/article/details/7204882 SharePoint2010沙盒解决方案基础开发--关于TreeView树形控 ...

  5. C#中WindowsForm常见控件的运用

    C#中WindowsForm常见控件的运用 -- 1.button(曹操,贡天子以令不臣): 属性;text:我们经常可以看见将按钮命名为“登入”,在其属性面板里面编辑text即可:如下图:      ...

  6. C#常见控件与SQL Sever数据库交互

    C#常见控件与SQL Sever数据库交互 下拉框(ComboBox)与数据库绑定 首先,我们采用DataSet作为临时的数据库,这样会比较好 那么,我们先创建两个成员(对象) string sqlc ...

  7. C#常用控件的属性以及方法(转载)

    -----以前看别人的,保存了下来,但是忘了源处,望见谅. C#常用控件属性及方法介绍 目录 1.窗体(Form) 2.Label (标签)控件 3.TextBox(文本框)控件 4.RichText ...

  8. 基于DevExpress开发的GridView如何实现一列显示不同的控件类型

    在很多DevExpress的使用例子里面,我们可以看到,基于GridView实现的不同控件展示的时候,每一列的控件类型都是一样的,如果我要某一列的一行让用户可以从下列列表选择选项,而其他行不可选择,那 ...

  9. [转] WinForm实现移除控件某个事件的方法

    原文 WinForm实现移除控件某个事件的方法 本文实例讲述了WinForm实现移除控件某个事件的方法,供大家参考借鉴一下.具体功能代码如下: 主要功能部分代码如下: /// <summary& ...

随机推荐

  1. 火焰图&perf命令

    最近恶补后端技术,发现还是很多不懂,一直写业务逻辑容易迷失,也没有成长.自己做系统,也习惯用自己已知的知识来解决,以后应该多点调研,学到更多的东西应用起来. 先学一个新的性能分析命令. NAME pe ...

  2. Django 如何实现 如下 联表 JOIN 查询?

    SQL语句: select distinct a.device_hash, sum(b.cmn_merge_count) from (select distinct device_hash from ...

  3. 欧拉回路 uoj117

    写了一道欧拉回路的模板题.先判断是否是欧拉回路,有向图和无向图有一点点不同,然后就是特判独立点的存在. 之后是输出路径,和dls学的dfs,利用last数组的更新可以做到线性的复杂度,否则一不小心就会 ...

  4. 没有调用PageHelper.startPage()分页方法,最后还是执行了PageHelper分页方法的原因

    SELECT * FROM ( SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM ( SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( ...

  5. 04-RocketMQ入门及其使用(一)

    视频开始主要介绍数据库逻辑以及分表相关的设计. 关键的数据库读写分析操作---

  6. myBatis 切换数据源(spring事务)理解

    1. mybatis (SqlSessionTemplate)的动态代理 a) sqlSession的结构 b)SqlSession 结构 public class SqlSessionTemplat ...

  7. Linux下ip route、ip rule、iptables的关系(转)

    1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...

  8. gdb 调试的信息输出到文件

    # (gdb) set logging file <文件名> # (gdb) set logging on # (gdb) thread apply all bt # (gdb) set ...

  9. 升级struts到2.5.2遇到的问题及解决方案

    原来的版本是2.3.x,由于安全原因需要升级到2.5.2.1,2.5.2版本不再提供xwork.jar ,整合到了 struts-core包中. 2,方法不能访问的问题,需要在每个action配置文件 ...

  10. Flume目录

    1. Flume的安装配置 2. flume和kafka整合(转) 3. Flume NG 配置详解(转) 4. Flume-NG一些注意事项(转) 5. FLume监控文件夹,将数据发送给Kafka ...