Windows 窗体是最常见的托管应用程序之一。 Windows 窗体创建标准的 Windows 应用程序。 你可以完成此演练使用 Visual Basic 中, C#,或 c + +。

首先,您必须关闭任何打开的解决方案。

准备此次演练

  • 如果已打开某个解决方案,请将其关闭。 (在文件菜单中,选择关闭解决方案。)

创建新的 Windows 窗体

接下来,您将创建一个新的 Windows 窗体。

若要创建用于本演练中的 Windows 窗体

  1. 上文件菜单中,选择新建然后单击项目。

    此时将出现“新建项目”对话框。

  2. 在项目类型窗格中,打开Visual Basic, Visual C# ,或Visual c + + 节点,然后

    1. Visual Basic 或 Visual C#,选择Windows 桌面 > Windows 窗体应用。

    2. 对于 Visual c + + 中,选择Windows 桌面应用程序。

  3. 在中名称框中,为项目指定唯一名称 (例如,Walkthrough_SimpleDebug)。

  4. 单击 “确定”。

    Visual Studio 创建一个新项目,并在 Windows 窗体设计器中显示新窗体。 有关详细信息,请参阅Windows 窗体设计器

  5. 上视图菜单中,选择工具箱。

    随即将打开工具箱。 有关详细信息,请参阅工具箱

  6. 在工具箱中,单击按钮控件,将控件拖到窗体设计图面。 将按钮拖动窗体上。

  7. 在工具箱中,单击文本框中控件,将控件拖到窗体设计图面。 Drop文本框中窗体上。

  8. 在窗体设计图面上,双击该按钮。

    这会转到代码页。 光标应位于button1_Click

  9. 在 button1_Click 函数中,添加以下代码:

    C#复制
    textBox1.Text = "Button was clicked!";
    C++复制
    textBox1->Text = "Button was clicked!";
  10. 在“生成”菜单上,选择“生成解决方案”。

    该项目应顺利生成,没有错误。

调试窗体

现在,已准备好开始调试。

若要调试在本演练中创建的 Windows 窗体

  1. 在源窗口中,单击你添加的文本的同一行的左侧的空白:

    C#复制
    textBox1.Text = "Button was clicked!";
    C++复制
    textBox1->Text = "Button was clicked!";

    出现一个红点并且该行上的文本突出显示为红色。 红点表示一个断点。 有关详细信息,请参见断点 当您在调试器下运行该应用程序时,此调试器将在命中该代码时在该位置中断执行。 然后您可以查看应用程序的状态并调试它。

    备注

    此外可以右键单击任意行的代码中,指向断点,然后单击插入断点该行上添加断点。

  2. 在“调试”菜单上选择“启动”。

    Windows 窗体开始运行。

  3. 在 Windows 窗体中,单击添加按钮。

    在 Visual Studio 中,这将转到行上的代码页设置了断点的位置。 该行将用黄色突出显示。 现在,可以查看应用程序中的变量并控制其执行。 你的应用程序现已停止执行,等待您的操作。

  4. 上调试菜单中,选择Windows,然后观看,然后单击Watch1。

  5. 在中监视 1窗口中,单击某一空行。 在中名称列中,键入textBox1.Text(如果使用 Visual Basic 或 Visual C#) 或textBox1->Text(如果使用 c + +),然后按 ENTER。

    监视 1窗口会显示此变量的值与引号中:

    ""

  6. 在“调试”菜单上选择“逐语句”。

    TextBox1.Text 的更改的值监视 1窗口:

    Button was clicked!

  7. 上调试菜单中,选择继续以继续进行调试您的程序。

  8. 在 Windows 窗体中,再次单击按钮。

    Visual Studio 将中断再次执行。

  9. 单击表示断点的红点。

    这将在代码中移除该断点。

  10. 在“调试”菜单上,选择“停止调试”。

附加到 Windows 窗体应用程序进行调试

在 Visual Studio 中,可以将调试器附加到正在运行的进程上。 如果使用 Express Edition,不支持此功能。

若要将附加到 Windows 窗体应用程序进行调试

  1. 在上述步骤中创建的项目中,单击左侧边距处来再一次所添加的行处设置断点:

    C#复制
    textBox1.Text = "Button was clicked!";
    C++复制
    textBox1->Text = "Button was clicked!";
    
    
  2. On the Debug menu, select Start Without Debugging.

    The Windows Form starts running under Windows, just as if you had double-clicked its executable. The debugger is not attached.

  3. On the Debug menu, select Attach to Process. (This command is also available on the Toolsmenu.)

    The Attach to Process dialog box appears.

  4. In the Available Processes pane, find the process name (Walkthrough_SimpleDebug.exe) in the Process column and click it.

  5. Click the Attach button.

  6. In your Windows Form, click the one and only button.

    The debugger breaks execution of the Windows Form at the breakpoint.

See Also

演练:调试 Windows 窗体的更多相关文章

  1. 如何:对 Windows 窗体控件进行线程安全调用

    http://msdn.microsoft.com/zh-cn/library/ms171728(VS.90).aspx http://msdn.microsoft.com/zh-cn/library ...

  2. Windows 窗体启动和关闭的事件顺序

    本文系转载学习. 对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说,事件引发的顺序特别重要.当某种情况需要小心处理事件时(如重绘窗体的某些部分时),必须知道事件在运 ...

  3. C#开发Windows窗体应用程序的步骤

    使用C#开发应用程序时,一般包括创建项目.界面设计.设置属性.编写程序代码.保存项目.程序运行等6个步骤. 1.创建项目 在Visual Studio2017开发环境中选择“文件”→“新建”→“项目” ...

  4. 最佳实践扩展Windows窗体DataGridView控件 .net 4.5 附示例代码

    Windows窗体DataGridView控件的性能调优.net 4.5   在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避 ...

  5. 创建可按比例调整的布局的 Windows 窗体

    能够正确调整大小的窗体可以提高您的用户界面的易用性. 此演练演示了如何创建当用户调整窗体大小时按比例调整的布局. 您将使用 TableLayoutPanel 控件实现一个接收联系人信息的数据输入窗体. ...

  6. Windows 窗体设计器(Windows Forms Designer)入门

      Visual Studio 2010 更新:2010 年 9 月 Windows 窗体设计器提供多个用于生成 Windows 窗体应用程序的工具. 本演练阐释如何使用设计器提供的各种工具生成应用程 ...

  7. C#创建、安装、卸载、调试Windows Service(Windows 服务)的简单教程

    前言:Microsoft Windows 服务能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面.这 ...

  8. Windows服务二:测试新建的服务、调试Windows服务

    一.测试Windows服务 为了使Windows服务程序能够正常运行,我们需要像创建一般应用程序那样为它创建一个程序的入口点.像其他应用程序一样,Windows服务也是在Program.cs的Main ...

  9. C#学习笔记-Windows窗体基本功能(Login登录界面)

    本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请 ...

随机推荐

  1. Flink--Window apply

    和window的操作类似,只不过操作更加灵活,具体的操作需要在匿名内部类的方法中实现:当有比较复杂的需求时候,可以使用: object WindowApply { def main(args: Arr ...

  2. Collection接口的常用方法

    [添加功能] boolean add(Object obj); //添加一个元素. boolean addAll(Collection c); //添加一个集合的元素(在后面追加). [删除功能] v ...

  3. Java03动手动脑

    1.当JAVA里定义的函数中去掉static后,怎么办? static代表静态,由于main函数是静态的,如果自己定义的函数方法加了static则在类加载时就一起加载了.但如果不写static,就必须 ...

  4. Practice| 数组

    /* 从键盘确定班级的组号,在从键盘输入每一组的人数,并输入每一个学员的成绩,并求出,每一组的平均分, 全部的平均分,每一组的最高分,全部的最高分,并显示结果. */ class Test3{ pub ...

  5. CodeSignal 刷题 —— almostIncreasingSequence

    Given a sequence of integers as an array, determine whether it is possible to obtain a strictly incr ...

  6. 2018年中国研究生数学建模竞赛C题 二等奖 赛题论文

    2018年中国研究生数学建模竞赛C题 对恐怖袭击事件记录数据的量化分析 恐怖袭击是指极端分子或组织人为制造的.针对但不仅限于平民及民用设施的.不符合国际道义的攻击行为,它不仅具有极大的杀伤性与破坏力, ...

  7. linux平台,对线程等待和唤醒操作的封装(pthread_cond_timedwait 用法详解)

    前言 linux平台下,线程等待和唤醒操作是很常见的,但是平台函数不易使用:笔者对此操作做了封装,使之更易于使用. 线程等待和唤醒函数比较 平台提供了线程等待相关函数,这些函数之间用法也有些差异: s ...

  8. JMeter-java.lang.OutOfMemoryError: PermGen space错误

    PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被 ...

  9. MySql基础笔记(二)Mysql语句优化---索引

    Mysql语句优化--索引 一.开始优化前的准备 一)explain语句 当MySql要执行一个查询语句的时候,它首先会对语句进行语法检查,然后生成一个QEP(Query Execution Plan ...

  10. python基础一 ------可迭代类型的连接

    对可迭代迭代进行连接,返回一个可迭代对象 两种方式: 并行连接 zip() 串行连接 itertools.chain from itertools import chain #并行连接 print(& ...