我的集合本文档将按"原样"提供。文档中所陈述的信息和观点,包括 URL 和其他 Internet 网站参考,如有更改,恕不另行通知。本文档不向您提供有关任何 Microsoft 产品或产品名称中的任何知识产权的合法权利。您可以在内部复制并使用本文档以进行参考。您可以在内部修改本文档以进行参考。© 2013 Microsoft. 版权所有。保留所有权利。使用条款 ﴾http://msdn.microsoft.com/cc300389.aspx﴿ | 商标 ﴾http://www.microsoft.com/library/toolbar/3.0/trademarks/en-us.mspx﴿
Table Of Contents第 1 章步骤 1:创建项目并向窗体添加面板步骤 2:使用标签构建迷宫步骤 3:结束游戏步骤 4:添加方法来重新启动游戏步骤 6:添加 SoundPlayer步骤 7:向窗体中添加代码以播放声音步骤 8:运行程序并尝试其他功能Visual Basic 和 Visual C# 教程
第 1 章
步骤 1:创建项目并向窗体添加面板创建迷宫游戏的第一步是创建项目并向窗体添加 Panel 容器。 有关本主题的视频版本,请参见 Tutorial 2: Create a Maze in Visual Basic - Video 1 或 Tutorial 2: Create a Maze in C# - Video 1。创建项目并添加 Panel 容器1. 在“文件”菜单上,单击“新建项目”。2. 如果没有使用 Visual Studio 学习版,您需要先选择一种语言。 从“安装的模板”列表中选择“C#”或“Visual Basic”。3. 单击“Windows 窗体应用程序”图标,然后键入“Maze”作为名称。4. 设置窗体属性:a. 使用指针拖动右下角来调整窗体的大小。 观察集成开发环境 (IDE) 的右下角。 状态栏中会显示窗体的大小。 继续拖动直到窗体的宽度和高度均为 650 像素。 可以构建一个更小或更大的迷宫,因此可使窗体具有所需的任意大小。状态栏中的大小 b. 在窗体达到适当大小后,请将“Text”属性设置为“迷宫”。c. 若要使用户无法调整窗体的大小,请将“FormBorderStyle”属性设置为“Fixed3D”。d. 通过将“MaximizeBox”属性设置为“False”可以禁用窗体的标题栏中的“最大化”按钮。此时您已有一个具有固定大小的窗体,用户无法将该窗体最大化。 说明在创建新窗体时,默认情况下会对窗体进行相应设置,使用户能够通过两种方式来调整窗体的大小:用户可以拖动窗体的边和角或单击“最大化”按钮来使窗体最大化。如果希望确保用户无法调整窗体的大小,请禁用这两个选项。 将“FormBorderStyle”属性设置为任一固定样式可阻止用户调整窗体的大小,但用户仍可以单击“最大化”按钮。 这就是同时需要禁用“MaximizeBox”属性的原因。接下来,您需要创建一个用于构建迷宫的游戏场。 您可以使用 Panel 控件执行此操作。 面板是一类容器控件,可让您对一组控件进行布局。 与其他一些容器(如“TableLayoutPanel”容器和“FlowLayoutPanel”容器)不同,面板不会重新排列它所包含的控件。 这样一来,您就可以自由地将控件放置在所需位置,但与TableLayoutPanel 或 FlowLayoutPanel 不同的是,面板在用户调整窗口的大小时不会提供任何帮助。5. 转到工具箱中的“容器”组并双击“Panel”以将面板添加到窗体。 选定面板后,面板的左上角应显示一个移动句柄图标,如下所示。移动句柄6. 拖动面板直到它接近于窗体左上角。 在拖动面板时,您应注意 IDE 的一个有用功能:一旦面板与窗体的上边缘或左边缘之间达到某个特定距离,面板就会嵌入到位,并且面板边缘和窗体边缘之间会显示一条蓝色分隔线。 可以利用此分隔线轻松对齐面板,使其各个边缘与窗体边缘之间的距离完全相同。 一旦您看到顶部和左侧的蓝色分隔线,请释放鼠标按钮以将面板放置到位。 蓝色分隔线如下所示。蓝色分隔线拖动右下角的拖动句柄,直到面板的右侧和底部嵌入到位。7. 由于您希望用户看到迷宫的边缘,因此您需要为迷宫提供一个可视边框。 选择面板并将其“BorderStyle”属性设置为“Fixed3D”。Visual Studio 2012
8. 通过单击如下所示的“全部保存”工具栏按钮来保存项目。“全部保存”按钮9. 若要运行程序,请按 F5 或单击如下所示的“启动调试”工具栏按钮。启动“调试”工具栏按钮在运行时,窗体应与以下图片类似。初始迷宫窗体10. 在转到下一个教程步骤之前,请通过关闭窗体或单击“调试”工具栏上的“停止调试”工具栏按钮来停止程序。 (在程序运行时,IDE 将保持处于只读模式中。)继续或查看若要转到下一个教程步骤,请参见步骤 2:使用标签构建迷宫。若要返回概述主题,请参见教程 2:创建迷宫。© 2014 Microsoft. 版权所有。
步骤 2:使用标签构建迷宫现在是开始构建迷宫的时候了。 可以通过向窗体添加多个 Label 控件来构建迷宫。 通常使用标签来显示文本。 但在此项目中,将使用标签在窗体上绘制一个彩色矩形来作为迷宫的墙。 有关本主题的视频版本,请参见 Tutorial 2: Create a Maze in Visual Basic - Video 1 或 Tutorial 2: Create a Maze in C# - Video 1。使用标签构建迷宫1. 在 Windows 窗体设计器中,转到工具箱中的“公共控件”组,然后双击“Label”以使 IDE 向窗体添加标签。2. 设置几个属性,使标签成为一个大小可调整的矩形:将“AutoSize”属性设置为“False”。将“BackColor”属性设置为您喜欢的任何颜色。 (对于此教程,从“Web”颜色选项卡中选择“RoyalBlue”。)更改“Text”属性,通过选择文本“label1”并将其删除来清空此属性。作为实心矩形的标签此时,您的 Label 控件应为一个实心矩形。 说明这看起来似乎有些不正常,因为 Label 控件本来是应作为标签使用的。 不过,在此情况下,此标签可以用作绘制块。 编程的一个重要部分是了解工具箱(此示例中为 IDE 的工具箱)中的某个工具在什么情况下适用于特定作业,即使该作业不是此工具原本应用于的作业。3. 此时,您可以在构建迷宫时发挥您的创意。 通过选择标签,并从“编辑”菜单中选择“复制”(或按 Ctrl+C)来复制标签。 然后,将标签粘贴多次。 从“编辑”菜单中选择“粘贴”(或按 Ctrl+V)。 这将提供水平迷宫墙。 选择其中的一面墙并拖动此墙,使其变得又高又窄。 复制并粘贴此墙几次以提供垂直墙。4. 在面板周围拖动标签并创建迷宫。 不要使通道过窄,否则您的游戏将很难玩。 在左上角留出额外的空间,因为玩家将从该位置开始迷宫游戏。 说明您应该还记得,在您调整窗体的大小时,窗体的大小会显示在 IDE 的状态栏中。 当您调整标签或任何其他控件的大小时,IDE 会执行相同的操作。 如果您愿意,您可以通过此操作来确保所有迷宫墙的宽度都相同。在定位迷宫墙时,用于定位面板的 IDE 对齐栏也会很有用。 也可以使用键盘上的箭头键对当前选定的控件位置进行微调。 下图显示了状态栏中的大小。状态栏中的大小5. 在对迷宫进行布局后,转到工具箱中的“公共控件”组,然后重新双击“Label”一次。 使用“属性”窗口中的“(Name)”行将标签命名为“finishLabel”,并将其“Text”属性更改为“完成”。6. 将新的“完成”标签拖动到迷宫的终点。 这是用户需触碰的目标。7. 保存项目,然后重新运行程序。 以下是已完成的迷宫窗体的示例。 (迷宫的外观将有所不同。)已完成的迷宫窗体Visual Studio 2012
继续或查看若要转到下一个教程步骤,请参见步骤 3:结束游戏。若要返回上一个教程步骤,请参见步骤 1:创建项目并向窗体添加面板。© 2014 Microsoft. 版权所有。
步骤 3:结束游戏若要结束游戏,请使用“完成”标签。 可以通过为标签的 MouseEnter 事件添加事件处理程序来执行此操作。 说明如果您已完成“教程 1:创建图片查看器”,则您应了解事件处理程序。 大多数控件都具有它们可引发的多个不同事件。 图片查看器使用了 Button 控件的 Click 事件和CheckBox 控件的 CheckedChanged 事件。 在本教程中,将使用 Label 控件的 MouseEnter 事件,每当鼠标指针进入该控件时都将引发此事件。 Label 控件具有四打以上的事件。 其中的大多数事件都具有直观的名称,如“DoubleClick”、“Resize”和“TextChanged”。 本教程后面会显示一个事件名称的列表。 有关本主题的视频版本,请参见 Tutorial 2: Create a Maze in Visual Basic - Video 2 或 Tutorial 2: Create a Maze in C# - Video 2。结束游戏1. 选择“finishLabel”控件,然后单击位于“属性”窗口顶部的呈闪电形状的“事件”图标。 单击此图标后,将显示控件的事件,而不是显示控件的属性。 可以通过单击“属性”图标返回到属性列表。 此时,将“属性”窗口保持原状,以便其显示“finishLabel”控件的所有事件。 向下滚动到 MouseEnter 事件。 图标和 MouseEnter 事件如下所示。“事件”图标“属性”图标MouseEnter 事件2. 双击“MouseEnter”一词。 执行此操作后,IDE 会自动将一个事件处理程序方法添加到窗体中,并在代码编辑器中显示该方法,如下所示。每当鼠标指针进入此标签时,该事件处理程序方法都将运行。3. 您希望程序打开显示“Congratulations”(祝贺)的消息框,然后希望程序关闭。 为此,您需要添加如下所示的代码行(带注释)。Visual Studio 2012private void finishLabel_MouseEnter(object sender, EventArgs e){}Private Sub finishLabel_MouseEnter(sender As System.Object, e As System.EventArgs) Handles finishLabel.MouseEnterEnd Subprivate void finishLabel_MouseEnter(object sender, EventArgs e){ // Show a congratulatory MessageBox, then close the form. MessageBox.Show("Congratulations!"); Close();}C#VBC#