您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 第2章 创建一个Windows应用程序
第二章创建第一个Windows应用程序教学目标•学会创建Windows程序的步骤•理解Windows的消息驱动机制•理解控件(对象)的概念•掌握对象属性的设置方法•理解对象的事件及事件驱动2.1开始新的Windows项目本章我们将创建一个更完整的Windows程序。做一个数制转换的程序,将一个给出的十进制数转换为八进制或十六进制。完成后的程序如图2-1所示。在输入框中输入一个整数,然后单击底下的两个按钮,就可以在输出框中看到转换的结果。开始编写这个程序。在VisualStudio.NET的起始页的文件菜单上选择新建/项目。在弹出的对话框中的项目类型中选择VisualBasic项目,在模板中选择Windows应用程序,给你的应用程序起一个有意义的名字,并选择好保存位置后单击确定按钮。2.2设计程序外观2.2.1VisualBasic控件控件是可以和用户或程序实现互动的一个对象。绝大多数程序都是可以互动的—它们需要从用户那里获取信息,并向用户反馈信息。nLabel(标签)控件的功能是:为控件和窗体的其他组成部分提供标识。使用Label,可以给用户提供出窗体功能的有关信息。从广义上说,窗体中的每一条文字都是一个Label控件。nTextBox(文本框)控件,一个应用程序会多次用到该控件。TextBox控件的应用范围非常广,例如可用来显示一个由多行文本组成的版本信息。实际上TextBox能容纳的文本数量是没有限制的,当文本数量超出文本框的尺寸时,文本框还会添加自己的滚动条。TextBox和Label控件之间的差别在于:TextBox控件中的文本可以被编辑,而Label控件中的文本不能被编辑。nButton(按钮)控件:用户可以单击按钮控件触发程序动作。如本章的程序中,单击左边的按钮即将输入的数转换为八进制,单击右边的按钮即将输入的数转换为十六进制。将控件添加到窗体中:将鼠标指向工具箱,在弹出的菜单中选择需要添加的控件,然后在窗体的空白处单击,一个默认大小的控件就被放置到了除窗体上。重复以上动作,在窗体上放置六个控件,即两个TextBox控件,两个Label控件,两个Button控件。2.2.2设置控件属性并排列控件控件的属性控制着对象的外观和行为。通过对同样的控件设置不同的属性,可以使它们表现出不同的外观和行为。许多属性是每一个控件都有的,还有一些是大部分控件都有的。这些属性对每一个控件来讲,用法是相同的。2.2.2.1控件属性将控件添加到窗体后,通常要设置控件的一个或多个属性。见P27。2.2.2.2排列控件设置完属性后,应该将控件排列整齐。要移动控件,只需选中该控件,简单的用鼠标拖动即可。如果想更改控件尺寸,首先必须选中它(用鼠标单击一个控件即可选中),令其可缩放的控制点显示出来。另外,还可以在属性窗口中,分别修改Size和Location属性,从而修改对象的大小和位置。Size属性有两个值组成分别表示控件的高度和宽度。Location的两个值则分别表示的是控件相对于容器的x,y坐标。如果控件不是对得很齐,还可以这样做:将要对齐的控件选中,为了做到这一点,可以先选中一个,在按住Ctrl键用鼠标选中其余的。然后在菜单中选择格式/对齐/中间对齐2.3编写与运行程序设计完界面后,便可以运行一下程序。此时的程序应该可以正确运行,并且显示出刚才所设计的界面。但是,程序本身什么也作不了,单击按钮不会有什么反应。不过,VisualBasic.NET还是帮我们做了一些事情,例如单击程序窗口右上角的关闭按钮,程序可以正常关闭。最大最小化按钮也可以正常使用。2.3.1编写按钮事件代码程序界面设计已经完成了。在菜单中选择文件/保存全部后,继续我们的程序设计。在“转换为八进制”的按钮上双击,VisualBasic.NET打开代码窗口,光标停在将要编码的地方,见P30。2.3.2运行程序单击菜单上的调试,选择启动或直接按下F5,如果没有错误,会看到我们的第一个程序正常启动。演示操作。2.3.3理解程序Windows利用事件(或称之为消息)来驱动程序运行的。理解Windows的事件驱动是理解Windows程序运行机制的关键。事件驱动的程序允许用户用各种合理的顺序来安排程序的流程。事件驱动是一种面向用户的程序设计方法,在程序设计过程中除了完成所需要的程序功能之外,更多的考虑了用户可能的各种输入(消息),并有针对性地设计相应的处理程序。具体到刚才完成的程序,程序运行后,在按钮按下时,便产生了一个事件。Windows将该消息发给应用程序,应用程序调用相应的处理程序,执行特定的动作。编程主要的工作就是为消息处理函数编写程序。正如前面所作的一样。Windows采用消息机制使得当按钮按下时,添加的代码就会被执行。2.3.3.2理解程序代码现在来看一下具体的程序代码,在VisualBasic.NET中,每条语句占一行。程序中的空行不是必须的,这样做只是为了使程序更清楚。作为一种良好的编程风格,应该在程序中加入适当的空行,是程序更加清晰。程序中单撇号开始的行是注释行,在程序的实际运行中,注释行不被执行。它的作用是对程序起到说明解释的作用。程序中应该有足够的注释。例见P33。2.4保存成果以上编写了一个完整的Windows应用程序。要保存成果,从文件菜单中选择保存全部,然后退出VisualStudio.NET。下次再启动VisualStudio.NET的时候,可以在开始页面上看到你已经保存过的项目。直接单击该项目就可以继续上一次的工作。2.5进一步理解windows的事件驱动为了进一步理解windows的事件驱动,再来看一个例子。2.5.1事件驱动的编程前面已经讲过,windows是通过事件对对象进行驱动的。事实上,多数程序都是事件驱动的——即执行流程是由外界发生的事件所确定的。事件是一个信号,它告知应用程序有重要情况发生。例如,用户单击窗体上的某个控件时,窗体引发一个Click事件并调用一个处理该事件的过程。事件还允许在不同任务之间进行通讯。比方说,应用程序脱离主程序执行一个排序任务。若用户取消这一排序,应用程序可以发送一个取消事件让排序过程停止。在下面的例子中,将创建含有两个文本框的例子,当在第一个文本框中键入字符时,第二个文本框的内容始终和第一个文本框的内容保持一致。当在一个文本框中键入字符时,会触发事件—TextChanged。我们为该事件编写代码,将第一个文本框中的内容复制到第二个文本框中。现在开始一个新的windows项目,命名为StringCopy,在Form1窗体上放置两个文本框控件,同时放置两个Label标签标识这两个文本框,并设置属性。见P34。调整好控件的大小和位置后,单击左边一个下拉框的箭头,可以看到里面含有窗体上放置的所有控件的名称,选择txtInput控件后,再同样单击右边的下拉框箭头,可以看到在这里边列出了所有windows已经预先定义好了的,txtInput控件可以处理的事件。拉动右边的滑块,选择TextChanged,这是将要处理的事件。选择了该事件后,VisualBasic.NET自动在代码窗口添加了处理该事件的代码体,只需要在这当中添加所需要的具体代码就可以了。见演示。2.5.2理解程序上面的程序是如何工作的呢?实际情况是这样的:每当在输入字符的文本框中输入字符或者删除字符时,文本框的内容被改变,此时,系统(Windows)发送TextChange消息到应用程序。由于存在有该消息的处理程序,应用程序将调用该处理程序,于是语句txtCopy.Text=txtInput.Text被执行,输入字符文本框中的内容被复制到复制的字符文本框中。小结•创建Windows程序的步骤•理解Windows的消息驱动机制通过例题:•理解控件(对象)的概念•掌握对象属性的设置方法•理解对象的事件及事件驱动作业P27:1、2将作业交到FTP服务器上。
本文标题:第2章 创建一个Windows应用程序
链接地址:https://www.777doc.com/doc-3420964 .html