在向代码添加注释并测试代码之前,请先花点时间了解一些代码概念,因为您将会频繁使用这些概念:
在双击 Windows 窗体设计器中的**“显示图片”**按钮后,IDE 会自动将一个方法添加到程序的代码中。
方法是指组织代码的方式:它指明如何将代码组合在一起。
大多数情况下,一个方法会按特定顺序执行少量操作,如 showButton_Click() 方法会显示对话框,然后加载图片。
一个方法由多个语句构成。可以将方法视为一种将多个语句捆绑在一起的方式。
在执行或调用某个方法时,将按顺序依次执行该方法中的各个语句(从第一个语句开始)。
下面是一个语句示例。
pictureBox1.Load(openFileDialog1.FileName); pictureBox1.Load(openFileDialog1.FileName)
语句用于指示程序执行操作。在 Visual C# 中,语句始终以分号结束。在 Visual Basic 中,行的结尾即为语句的结尾。(Visual Basic 中不需要使用分号。)前面的语句将告知 PictureBox 控件下载用户使用**“OpenFileDialog”**组件选择的文件。
接下来,将向代码添加注释。注释是一个说明,它不会更改程序的行为。它使用户更易于理解代码的行为。在 Visual C# 中,可用两个正斜杠 (//) 将一行标记为一个注释。在 Visual Basic 中,可用一个单引号 (') 将一行标记为一个注释。
添加注释后即可测试您的程序。您刚才构建了可用的程序,虽然尚未完成,但已能够下载图片。
添加注释
添加以下内容。
Private Sub showButton_Click() Handles showButton.Click ' Show the Open File dialog. If the user clicks OK, load the ' picture that the user chose. If OpenFileDialog1.ShowDialog() = DialogResult.OK Then PictureBox1.Load(OpenFileDialog1.FileName) End If End Sub
private void showButton_Click(object sender, EventArgs e) { // Show the Open File dialog. If the user clicks OK, load the // picture that the user chose. if (openFileDialog1.ShowDialog() == DialogResult.OK) { pictureBox1.Load(openFileDialog1.FileName); } }
说明
“showButton”按钮的 Click 事件处理程序现已完成并可正常使用。您已开始编写代码(从 if 语句开始)。if 语句用于告知程序“检查此项,如果为 true,请执行这些操作。”在此示例中,告知程序打开“打开文件”对话框,如果用户选择一个文件并单击“确定”按钮,则将此文件加载到 PictureBox。
说明
IDE 可让您轻松地编写代码,而代码段是 IDE 为此采取的方式之一。代码段是一类快捷方式,它可扩展到一个小的代码块。
可以通过从“工具”菜单中选择“代码段管理器”来查看所有代码段。if 代码段位于“条件语句和循环”子文件夹中的“代码模式”中。可使用此管理器来浏览现有代码段或添加自己的代码段。
若要在键入代码时激活一个代码段,请键入该代码段并按 Tab 键。多个代码段将出现在“IntelliSense”窗口中,这就是为什么要按 Tab 两次的原因:第一次按 Tab 是从“IntelliSense”窗口中选择该代码段,第二次按 Tab 是告知 IDE 使用该代码段。(IntelliSense 支持 if 代码段,但不支持 ifelse 代码段。)
在运行程序之前,通过单击如下所示的**“全部保存”**工具栏按钮保存程序。
“全部保存”按钮
或者,从**“文件”菜单中单击“全部保存”**来保存程序。最佳做法是尽早且经常保存。
当程序运行时,其外观应与下图类似。
图片查看器
测试程序
按 F5 键或单击**“启动调试”**工具栏按钮。
单击**“显示图片”按钮运行您刚才编写的代码。首先,该程序会打开“打开文件”对话框。确认在该对话框底部的“文件类型”下拉列表中会出现筛选器。然后,定位到一张图片并将其打开。通常可以在“我的文档”文件夹内的“图片收藏\示例图片”**文件夹中找到 Windows 操作系统附带的示例图片。
加载一张图片后,此图片会在 PictureBox 中出现。然后尝试调整窗体的大小。由于已将 PictureBox 停靠在 TableLayoutPanel 内部,而 TableLayoutPanel 自身停靠在窗体内部,因此图片区域将自行调整大小,使自身的宽度与窗体的宽度相同,并占据窗体上部空间的 90%。这就是使用 TableLayoutPanel 容器和 FlowLayoutPanel 容器的原因:当用户调整窗体的大小时,二者可以使窗体具有适当的大小。
继续或查看
若要转到下一个教程步骤,请参见步骤 10:创建其他按钮和复选框。
若要返回上一个教程步骤,请参见步骤 8:为“显示图片”按钮事件处理程序编写代码。