Winform窗体应用是大家经常遇到的软件类型,那么我们如何在Visual Studio中创建Winform窗体应用呢?下面小编给大家分享一下。
Visual Studio
打开Visual Studio软件,点击文件菜单,然后选择新建下面的项目,如下图所示
接下来在新建项目界面中选择Windows窗体应用程序,如下图所示
然后在Form1主窗体界面中右键单击选择属性,如下图所示
接下来在右侧的外观属性栏中找到Text属性,修改成登录界面,这是窗体的名字,如下图所示
然后找到窗体的Size属性,设置一下窗体的宽和高的值,如下图所示
接下来我们打开工具箱,将自己需要的控件拖拽到窗体中,如下图所示,这里小编模拟的是登录界面,所以拖入的是TextBox,Button,Label三个控件
然后我们在窗体界面中调整好各个控件的位置以及间距,如下图所示
接下来就需要处理点击按钮的逻辑了,这个是在Click事件中完成的,如下图所示,小编这里只进行了登录成功的输出,真实的环境中需要连接数据库进行用户名和密码的查询验证
最后我们运行程序,在出现的窗体界面中输入用户名和密码点击登录按钮就会进行弹窗了,如下图所示
Visual Studio 调试技巧之即时窗口的妙用
在 Visual Studio 中有一个窗口叫 Immediate 窗口,中文版本应该叫即时窗口。默认会在你启动调试时在 VS 编辑器中弹出来。你也可以通过 Debug | Windows | Immediate 或者使用快捷键 Ctrl Alt I 手动把它调出来。
这个窗口很实用,尤其是在调试的时候。下面总结几个即时窗口的实用技巧。
临时运行C#代码有时候你可能只想知道一句C#代码运行的结果,比如你突然想知道一个空数组调用Sum()方法会不会报错,或者想查看一下Math.PI的值。你不用傻傻地把测试代码写在项目里,设个断点,然后把项目跑起来查看。你可以在即时窗口中直接写C#代码,然后按回车即可。比如输入:
Console.WriteLine("Welcome!")
回车运行:
再如,你可以直接输入 Math.PI 等表达式和调用某些方法:
也可以用 VS 的另外一个窗口 View | Other Windows | C# Interactive 来实现个功能。如果只是为了临时运行 C# 代码块,则C# Interactive 会更好用些。两者使用有些区别,C# Interactive 打印内容需要手动调用 Console.Write 等方法:
调试时调用任何方法假如你正在调试一个方法,你临时测试一下这个方法对于不同的参数的执行过程或运行结果。比如对于这样一段代码:
classProgram{ staticvoidMain(string[] args) { var foo = new Foo(); var result = foo.Add(1, 2, 3); Console.WriteLine(result); }}publicclassFoo{ publicintAdd(paramsint[] nums) { if (nums?.Length < 1) return0; var result = 0; foreach (var n in nums) { // ...(其它代码) result = n; } return result; }}
若想用不同的参数来测试foo.Add方法的运行情况,普通的做法是启动多次调试,每次调试都修改一下调用代码 foo.Add 的参数。使用即时窗口,你可以在方法调用处打个断点。然后在即时窗口编写调用代码,它会直接使用当前上下文进行调试。不需要中断 VS 调试再重新启动。
另外,在即时窗口可以调用私有方法,也就是说它不受方法的访问权限限制。
不过,在即时窗口编写调用私有方法的代码时是没有智能提示的。
使方法执行不影响上下文默认情况下,在即时窗口运行的代码,执行完后会对上下文产生副作用(Side Effect)。比如对于这样一段代码:
classProgram{ staticvoidMain(string[] args) { var foo = new Foo(); Console.WriteLine(); }}publicclassFoo{ publicint Num { get; privateset; } publicintIncrease() { return Num; }}
在即时窗口中调用foo.Increase后,Num 的变化如下:
但很多时候我们只希望即使窗口只是临时运行一下调试代码,不想让它真修改上下文的状态。我们只需在表达式后面添加 , nse(no side effect 的简写)即可:
加上 nse 后,执行的那句代码相当于在一个沙箱中运行,和上下文互不干扰。
访问特殊变量Visual Studio 在调试过程中有一些特殊的变量,可以在即时窗口打印它们的值。这些特殊的变量以 $ 作为前缀,通过智能提示可以看到目前有三个这样的特殊变量:
本文分享的这几个即时窗口的技巧,在调试时很实用,在工作中我经常使用,希望它也可以帮助你提高开发效率。关于调试,VS 还有其它好用的工具或技巧,比如有一个 Watch(监视)窗口,如果调试时要频繁查看一个对象的值,使用监视窗口比即时窗口方便很多。
当然,还是希望大家自己去探索更多的技巧,以做到能更高效灵活地使用 VS 这个强大的编辑器。
-
精致码农
带你洞悉编程与架构
点头像关注,不错过网海相遇的缘分[比心]