VSTO开发入门教程
上QQ阅读APP看书,第一时间看更新

1.2 创建第一个C#应用程序

计算机中顺利安装Visual Studio以后,就可以开始编写你的第一个C#程序。因为VSTO是C#的一种项目类型,因此在学习VSTO之前,首先应该学会最基本的C#程序的编写和调试技巧。

最基础的C#程序要数控制台应用程序和Windows窗体应用程序这两种项目类型。分别介绍如下。

■1.2.1 控制台应用程序

控制台应用程序是最基本的C#项目,程序在运行期间,输入和输出都在一个黑屏窗口中进行操作。

启动Visual Studio 2012,单击菜单【文件/新建/项目】,在新建项目对话框中,依次选择【模板/Visual C#/Windows/控制台应用程序】,项目名称重命名为“ConsoleApplication20160629”,单击“确定”按钮,如图1.4所示。

图1.4 创建控制台应用程序

双击解决方案资源管理器中的Program.cs,打开这个类模块,编辑代码如下:

    1  using System;
    2  using System.Collections.Generic;
    3  using System.Linq;
    4  using System.Text;
    5  using System.Threading.Tasks;
    6
    7  namespace ConsoleApplication20160629
    8  {
    9     class Program
    10     {
    11        static void Main(string[] args)
    12        {
    13            Console.Write("Hello , C#");
    14            Console.ReadKey();
    15        }
    16     }
    17 }

控制台应用程序的程序入口是Program类的Main函数。因此,编辑代码后,按下快捷键【F5】,输出结果,如图1.5所示。

图1.5 控制台应用程序输出窗口

此时,在键盘上按下任何键,黑屏窗口消失,调试结束。

注意 在C#中,单步调试代码的快捷键是【F11】。

1. Console类

System.Console类表示控制台应用程序的标准输入流、输出流和错误流。Console类最常用的方法如表1.2所示。

表1.2 Console类常用方法

2.接收用户输入

使用Console.ReadLine方法,可以读取用户输入的内容,在下面的范例中当用户输入一个英文句子,按下回车后,在控制台中输出相应的大写字符串。

修改Main函数中的代码为:

    1         static void Main(string[] args)
    2         {
    3             string nm = Console.ReadLine();
    4             Console.WriteLine(nm.ToUpper());
    5             Console.ReadKey();
    6         }

上述代码中,nm是一个字符串变量,接收用户的输入。ToUpper是字符串的一个转换函数,将字符串转换为对应的大写内容。

程序的执行效果,如图1.6所示。

图1.6 接收用户输入

3.输出结果到控制台

用于结果输出的方法有Write和WriteLine,这两个方法的不同之处在于,后者输出结果后自动换行,而Write则会在上一个结果之后继续输出。

    1         static void Main(string[] args)
    2         {
    3             Console.Write("白日依山尽,");
    4             Console.Write("黄河入海流。");
    5             Console.Write("欲穷千里目,");
    6             Console.Write("更上一层楼。");
    7             Console.WriteLine("\n");
    8             Console.WriteLine("锄禾日当午,");
    9             Console.WriteLine("汗滴禾下土。");
    10            Console.WriteLine("谁知盘中餐,");
    11            Console.WriteLine("粒粒皆辛苦。");
    12            Console.ReadKey();
    13        }

上述代码在控制台输出了两首古诗,第一首使用Write输出,四句古诗输出在一行中,并没有换行,“Console.WriteLine(“\n”)”;这一句,表示在两首古诗之间输出一个空白行,如图1.7所示。

图1.7 输出结果到窗口

程序调试完毕后,单击【文件/关闭解决方案】。

■1.2.2 Windows窗体应用程序

与控制台应用程序相比,Windows窗体应用程序允许使用窗体和控件,可以做出更美观的界面,完成更复杂的编程任务。

启动Visual Studio,单击菜单【文件/新建/项目】,在新建项目对话框中,依次选择【模板/Visual C#/Windows/Windows窗体应用程序】,项目名称重命名为“WindowsForms Application20160629”,单击“确定”按钮,如图1.8所示。

图1.8 创建Windows窗体应用程序

在Visual Studio中,自动打开Form1的设计视图,从控件工具箱中拖动一个button控件到Form1,如图1.9所示。

图1.9 窗体设计视图

双击窗体空白区域,进入窗体的Load事件代码区域;然后回到设计视图,双击but ton1,编写按钮的单击事件,Form1.cs的完整代码如下:

    1  using System;
    2  using System.Collections.Generic;
    3  using System.ComponentModel;
    4  using System.Data;
    5  using System.Drawing;
    6  using System.Linq;
    7  using System.Text;
    8  using System.Threading.Tasks;
    9  using System.Windows.Forms;
    10
    11 namespace WindowsFormsApplication20160629
    12 {
    13     public partial class Form1 : Form
    14     {
    15        public Form1()
    16        {
    17            InitializeComponent();
    18        }
    19
    20        private void Form1_Load(object sender, EventArgs e)
    21        {
    22            MessageBox.Show("Hello, Form");
    23        }
    24
    25        private void button1_Click(object sender, EventArgs e)
    26        {
    27            this.Text = System.DateTime.Now.ToString();
    28        }
    29     }
    30 }

启动调试后,在窗体显示之前,跳出一个对话框,显示“Hello, Form”,单击窗体上11的按钮,会看到窗体的标题文字变为当前系统时间。

注意 MessageBox用于显示一个对话框,使用该语句的模块顶部必须写上“using Sys tem.Windows.Forms; ”这条指令。

■1.2.3 生成可执行文件

C#程序不仅可以在开发计算机上调试运行,也可以生成可执行文件,然后把扩展名为.exe的可执行文件发送到其他计算机直接运行使用。

在C#项目中,每当重新调试运行后,计算机总是自动生成可执行文件,对于上述窗体应用程序,可以打开如下路径找到最后生成的可执行文件:

…\Window sFormsApplication20160629\WindowsFormsApplication20160629\bin\Debug该路径下的“WindowsFormsApplication20160629.e xe”就是这个项目的可执行文件。

除了窗体应用程序以外,其他的C#项目类型最后生成的结果文件也均在Debug或者Release文件夹中。