步骤 8:为“显示图片”按钮事件处理程序编写代码

在此步骤中,将生成按如下所示工作的**“显示图片”**按钮:

  • 当用户单击此按钮时,程序会打开**“打开文件”**对话框。

  • 如果用户选择一个图片文件,则程序会在 PictureBox 中显示该图片。

IDE 提供一种名为 IntelliSense 的强大工具,可帮助您编写代码。当您输入代码时,IDE 会打开一个框,其中显示与您所输入的部分单词对应的完整建议内容。它尝试确定您接下来要做的事情,并自动跳到您从列表中选择的最后一项。您可以使用向上键或向下键在列表中进行移动,也可以继续键入字母以缩小选择范围。当您看到所需的选项时,按 Tab 键可将其选中。或者,也可以忽略不需要的建议。

为“显示图片”按钮事件处理程序编写代码

  1. 转到“Windows 窗体设计器”,并双击**“显示图片”**按钮。IDE 将立即转到代码设计器,并将光标移动到您之前添加的 showButton_Click() 方法内。

  2. 在两个大括号 { } 之间的空行上键入一个 i。(在 Visual Basic 中,应在 Private Sub… 与 End Sub 之间的空行上键入。)**“IntelliSense”**窗口随即打开,如以下图片中所示。

    使用 Visual C# 代码的 IntelliSense

    包含 Visual C# 代码的 IntelliSense

  3. “IntelliSense”窗口应该会突出显示“if”一词。(如果没有,请输入小写的 f,它将突出显示。)请注意“IntelliSense”窗口旁边的黄色工具提示将如何显示“if 语句的代码段”。(在 Visual Basic 中,该工具提示还指明这是一个代码段,但用词会略有不同。)您需要使用此代码段。按 Tab 键将**“if”插入到您的代码中。然后再次按 Tab 键即可使用“if”代码段。(如果单击其他位置后“IntelliSense”窗口消失,那么请按 Backspace 删除“i”并重新键入它,此时“IntelliSense”**窗口将再次打开。)

    Visual C# 代码

    Visual C# 代码

  4. 接下来,使用 IntelliSense 输入更多代码以打开**“打开文件”对话框。如果用户单击了“确定”**按钮,则 PictureBox 会加载用户选择的文件。下面的步骤演示如何输入代码,尽管步骤很多,但只需几次击键即可完成:

    1. 从代码段中的选定文本**“true”**开始。键入 op 将其覆盖。(在 Visual Basic 中,首字母需要大写,因此键入 Op。)

    2. “IntelliSense”窗口打开并显示“openFileDialog1”。按 Tab 将其选中。(在 Visual Basic 中,因为首字母大写,所以您会看到**“OpenFileDialog1”。确保“OpenFileDialog1”**已选中。)

    3. 键入句点 (.)(许多程序员称此符号为点)。由于您在紧接在**“openFileDialog1”的后面键入了一个句点,因此“IntelliSense”窗口将打开,其中填充有“OpenFileDialog”组件的所有属性和方法。当在“Windows 窗体设计器”中单击该组件时,“属性”**窗口中会显示相同的属性。还有一些方法会告知组件要执行的操作(例如打开对话框)。

      说明说明

      “IntelliSense”窗口可以同时向您显示属性和方法。若要确定所显示的内容,请查看左侧的图标。您会看到每种方法旁边都会有一个块型图片,每个属性旁边都会有一个手型图片。每个事件旁边还会有一个闪电形图标。这些图片如下所示。

      “方法”图标

      “方法”图标

      “属性”图标

      “属性”图标

      “事件”图标

      “事件”图标

    4. 开始键入 ShowDialog(是否大写对于 IntelliSense 来说不重要)。ShowDialog() 方法将显示**“打开文件”对话框。在窗口突出显示“ShowDialog”**之后,按 Tab。

    5. 当对控件或组件使用方法(称为“调用方法”)时,需要添加圆括号。因此,请输入左括号和右括号:()

      说明说明

      方法是所有程序的重要组成部分,本教程演示了方法的多种使用方式。可以调用组件的方法来告诉组件要执行的操作,这与调用“OpenFileDialog”组件的 ShowDialog() 方法的方式类似。可以创建自己的方法来使程序执行操作,这与您此时正在构建的 showButton_Click() 方法类似,此方法会在用户单击按钮时打开对话框和图片。

    6. 对于 Visual C#,添加一个空格,然后添加两个等号 (==)。对于 Visual Basic,添加一个空格,然后使用单个等号 (=)。(Visual C# 和 Visual Basic 使用不同的相等运算符。)

    7. 添加另一个空格。一旦您这样做之后,另一个**“IntelliSense”**窗口将打开。开始键入 DialogResult,然后按 Tab 来添加它。

      说明说明

      当编写代码来调用方法时,有时代码会返回一个值。在这种情况下,“OpenFileDialog”组件的 ShowDialog() 方法会返回一个 DialogResult 值。DialogResult 是一个特殊的值,此值告诉您对话框中所发生的改变。“OpenFileDialog”组件会导致用户单击“确定”“取消”,这样组件的 ShowDialog() 方法就会返回 DialogResult.OK 或 DialogResult.Cancel。

    8. 键入一个点以在**“IntelliSense”窗口中打开 DialogResult 值。输入字母 O,然后按 Tab 以插入“OK”**。

      说明说明

      第一行代码应会完成。对于 Visual C#,此代码行应如下所示。

      if (openFileDialog1.ShowDialog() == DialogResult.OK)

      对于 Visual Basic,此代码行应如下所示。

      If OpenFileDialog1.ShowDialog() = DialogResult.OK Then

    9. 现在,再添加一行代码。可以键入或者复制并粘贴此行代码,但是应考虑使用 IntelliSense 来添加代码。您对 IntelliSense 越熟悉,您就可以越快地编写自己的代码。最终的 showButton_Click() 方法如下所示。

      Private Sub showButton_Click() Handles showButton.Click
      
          If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
              PictureBox1.Load(OpenFileDialog1.FileName)
          End If
      
      End Sub
      
      private void showButton_Click(object sender, EventArgs e)
      {
          if (openFileDialog1.ShowDialog() == DialogResult.OK)
          {
              pictureBox1.Load(openFileDialog1.FileName);  
          }
      }
      

继续或查看