Windows窗体应用程序开发
- 格式:ppt
- 大小:4.10 MB
- 文档页数:93
很多学C的朋友认为C语言只能写DOS程序,而不能像C#那样写windows窗体的程序,这你可就打错特错了,今天我来简单掩饰下C语言怎么利用windows提供出来的API写windows窗体程序。
开发工具VC6.0,开发平台windows7。
首先第一步,打开VC,新建工程,选择win32 application,如下图然后新建一个C语言源文件,这个就不截图了,如果这也不会的话相信你也不会来看这篇帖子~呵呵建好文件以后把一下代码输入进去。
编译即可~代码讲解会下帖子下方1.#include <windows.h>2.3.LRESULT CALLBACK Windo WP roc(4. HWND hwnd, //handle to window5. UINT uMsg, //message identifier6. WPARAM wParam, //first message parameter7. LPARAM lParam //second message parameter8. );9.10.11.int WINAPI WinMain(HINSTANCE hInstance,12. HINSTANCE hPrevInstance,13. L PS TR lpCmdLine,14. int nShowCmd15. )//入口函数16.{17. WNDCLASS wndclass;18. HWND wndhwnd;19. MSG msg;20. wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//加载图标21. wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);//加载鼠标样式22. wndclass.style=CS_VREDRAW | CS_HREDRAW;//窗口样式23. wndclass.lpfnWndProc=WindowProc;//窗口过程回调函数24. wndclass.cbClsExtra=0;//类额外内存25. wndclass.cbWndExtra=0;//窗口额外内存26. wndclass.hInstance=hInstance;//27. wndclass.hbrBackground=(HBRUSH)GetStockObject(SYSTEM_FONT);//窗口颜色28. wndclass.lpszMenuName=NULL;//窗口菜单29. wndclass.lpszClassName="testWindow";//窗口类名30.31. RegisterClass(&wndclass);32. wndhwnd=CreateWindow("testWindow","windows",WS_OVERLAPPEDWINDOW& ~WS_MAXIMIZEBOX,33. CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,34. NULL,NULL,hInstance,NULL);35. ShowWindow(wndhwnd,SW_SHOWNORMAL);36. UpdateWindow(wndhwnd);37. while(GetMessage(&msg,NULL,0,0))38. {39. TranslateMessage(&msg);40. DispatchMessage(&msg);41. }42.43. return 0;44.}45.46.LRESULT CALLBACK WindowProc(47. HWND hwnd, //handle to window48. UINT uMsg, //message identifier49. WPARAM wParam, //first message parameter50. LPARAM lParam //second message parameter51. )52.{53. HDC hdc,hDC;54. PAINTSTRUCT ps;55. char szchar[20];56. static int i=0;57. switch (uMsg)58. {59. case WM_PAINT://窗口重绘消息,窗口加载和重绘的时候产生该消息60. hdc=BeginPaint(hwnd,&ps);61. TextOut(hdc,0,0,"窗口加载完成",strlen("窗口加载完成"));//往窗口输出文本62. //MessageBox(hwnd,"Hello World","Hi",MB_OK);63. EndPaint(hwnd,&ps);64.65. break;66. case WM_CHAR://处理键盘按键消息67. sprintf(szchar,"char is %c",wParam);68. MessageBox(hwnd,szchar,"提示",MB_OK);69. break;70. case WM_LBUTTONDOWN://处理鼠标左键按下消息71. MessageBox(hwnd,"mouse click","提示",MB_OK);72. hDC=GetDC(hwnd);73. TextOut(hDC,0,50,"鼠标事件处理时显示文字",strlen("鼠标事件处理时显示文字"));74. ReleaseDC(hwnd,hDC);75. break;76. case WM_CLOSE://窗口关闭消息77. if(IDYES==MessageBox(hwnd,"你确定要关闭吗?","提示",MB_YESNO))78. DestroyWindow(hwnd);79. break;80. case WM_DESTROY:81. PostQuitMessage(0);82. break;83. default:84. return DefWindowProc(hwnd,uMsg,wParam,lParam);//使用缺省值来调用窗口过程函数85. }86. return 0;87.}复制代码要说明的事,windows程序必须包含的头文件就是windows.h,而程序的入口函数叫做WinMain(dos的入口函数叫main),如果搞不清有几个参数,参数怎么写,可以查阅MSDN,WindowProc函数是窗口过程函数,也就是处理窗口消息的函数;先来看winamin函数内部,首先定义了一个WNDCLASS类型的数据,这个类型是windows 提供出来的结构体,他里面有10个成员。
DevExpress WinForms 提供了一套丰富的控件,用于创建具有专业外观和感觉的Windows Forms 应用程序。
以下是一个简单的DevExpress WinForms 项目开发实例,它演示了如何使用DevExpress WinForms 控件来创建一个简单的窗口,并显示一些数据。
首先,确保你已经安装了DevExpress WinForms 控件库。
你可以从DevExpress 官网下载并安装它。
步骤1: 创建一个新的Windows Forms 项目打开Visual Studio,选择“创建新项目”,选择“Windows Forms 应用(支持.NET Framework)”模板,并给你的项目命名。
步骤2: 从工具箱拖放控件到窗体上在工具箱中找到DevExpress WinForms 控件,例如dxGrid、dxBarManager、dxTreeList 等。
将这些控件拖放到窗体上。
步骤3: 设置控件属性在属性窗口中设置控件的属性,例如Text、Dock、Anchor 等。
步骤4: 编写代码以填充数据和事件处理程序在代码文件中编写代码以填充数据和事件处理程序。
例如,你可以使用以下代码填充dxGrid 控件:// 假设你有一个名为dataTable 的DataTable 对象,它包含一些数据dataGridView1.DataSource = dataTable;// 为数据表中的列设置列头文本dataGridView1.Columns["column1"].Caption = "列1";dataGridView1.Columns["column2"].Caption = "列2";dataGridView1.Columns["column3"].Caption = "列3";// 如果需要处理某些事件,例如单击事件,可以添加事件处理程序dataGridView1.KeyDown += newKeyEventHandler(dataGridView1_KeyDown);步骤5: 运行和测试应用程序点击“开始”或“运行”按钮来运行应用程序,检查用户界面是否符合预期,以及应用程序是否按预期工作。
精通C#与.NET4.0数据库开发实验报告实验题目:Windows窗体程序的开发专业计算机科学与技术学生XX班级学号教师指导单位日期一、实验目的1.学会在Visual Studio 2021中创立和运行窗体程序。
2.掌握Windows窗体的根本操作。
3.学会使用常用的Windows控件。
4.学会使用菜单和工具栏以及通用对话框。
二、实验环境.NET框架开发环境Visual Studio 2021三、实验内容例5-1、2:源代码:publicpartialclass Form1 : Form{public Form1( ){Initializeponent( );}privatevoid AddInputToLog(string input){this.tbLog.AppendText("\r\n" + input);this.tbLog.ScrollToCaret( );}privatevoid btnSubmit_Click(object sender, EventArgs e) {string input = this.tbInput.Text;this.AddInputToLog(input);this.tbInput.Clear( );}}例5-3、4:源代码:publicpartialclass FrmMain : Form{public FrmMain( ){Initializeponent( );}privatevoid btnSetProp_Click(object sender, EventArgs e){this.Text = "测试对话框";this.FormBorderStyle = FormBorderStyle.FixedDialog;this.BackColor = Color.Gray;this.WindowState = FormWindowState.Normal; this.MinimizeBox = false;this.Height = 200;this.Width = 400;this.TopMost = true;}private FrmMain _CurrFrm = null;privatevoid btnCreate_Click(object sender, EventArgs e){if(this._CurrFrm == null){this._CurrFrm = new FrmMain( );this._CurrFrm.Show( );}else{this._CurrFrm.Activate( );}}privatevoid btnClose_Click(object sender, EventArgs e){if (this._CurrFrm !=null){this._CurrFrm.Close( );this._CurrFrm = null;}}privatevoid FrmMain_Load(object sender, EventArgs e){}}例5-5:源代码:// label1参数设置bel1.AutoSize = true;bel1.BackColor = System.Drawing.Color.Red;bel1.Font = new System.Drawing.Font("楷体_GB2312",12F, System.Drawing.FontStyle.Regular,System.Drawing.GraphicsUnit.Point,((byte)(134)));bel1.ForeColor = System.Drawing.Color.White;bel1.Location = new System.Drawing.Point(68, 43); = "label1";bel1.Size = new System.Drawing.Size(232, 16);bel1.TabIndex = 0;bel1.Text = "红底白字,楷体小四号, 无边框";bel1.Click += new System.EventHandler(bel1_Click);// label2参数设置bel2.AutoSize = true;bel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;bel2.Font = new System.Drawing.Font("幼圆",15F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,((byte)(134)));bel2.Location = new System.Drawing.Point(49, 79); = "label2";bel2.Size = new System.Drawing.Size(289, 22);bel2.TabIndex = 1;bel2.Text = "幼圆小三粗体, Single边框";bel2.Click += new System.EventHandler(bel2_Click); 例5-6:源代码:publicpartialclass Form1 : Form{privateint _Value = 0;//btnShowMsg的Click事件处理函数privatevoid btnShowMsg_Click(object sender, EventArgs e) {MessageBox.Show(string.Format("现在需要: {0} ", this._Value));}//“多一点〞按钮Click事件处理函数privatevoid btnAdd_Click(object sender, EventArgs e){this._Value++;this.lbRes.Text = string.Format("现在需要: {0} ", this._Value);}//“少一点〞按钮Click事件处理函数privatevoid btnSub_Click(object sender, EventArgs e){this._Value--;this.lbRes.Text = string.Format("现在需要: {0} ", this._Value);}}例5-7:源代码:publicpartialclass Form1 : Form{public Form1( ){Initializeponent( );}privatevoid buttons_CheckedChanged(object sender, EventArgs e) {string weeks = "";weeks += ckbWeek1.Checked ? "星期一" :"";weeks += ckbWeek2.Checked ? "星期二" : "";weeks += ckbWeek3.Checked ? "星期三" : "";weeks += ckbWeek4.Checked ? "星期四" : "";weeks += ckbWeek5.Checked ? "星期五" : "";weeks += ckbWeek6.Checked ? "星期六" : "";weeks += ckbWeek7.Checked ? "星期日" : "";string sport = "";sport += rbSword.Checked ? "击剑" : "";sport += rbJump.Checked ? "跳水" : "";sport += rbTiCao.Checked ? "体操" : "";string jiangpai = "";jiangpai += rbGold.Checked ? "金牌" : "";jiangpai += rbSliver.Checked ? "银牌" : "";jiangpai += rbTong.Checked ? "铜牌" : "";this.lbHint.Text = weeks + sport + jiangpai;}}例5-8:源代码:publicpartialclass Form1 : Form{privatevoid Form1_Load(object sender, EventArgs e){this.mtbMobile.Mask = ""; //手机:13后面9个必填数字this.mtbPhone.Mask = "00"; //:4位必填区号,7或8位?this.tbName.Text = "";this.tbUsers.Text = "";}privatevoid btnAdd_Click(object sender, EventArgs e){string usr = string.Format("<{0}>:<{1}>:<{2}>", //产生用户信息this.tbName.Text,this.mtbPhone.Text,this.mtbMobile.Text);//添加到用户记录文本框¨°this.tbUsers.AppendText(usr + System.Environment.NewLine);this.mtbMobile.Text = ""; //清空用户信息this.mtbPhone.Text = "";this.tbName.Text = "";}}例5-9:源代码:publicpartialclass Form1 : Form{public Form1( ){Initializeponent( );}privatevoid Form1_Load(object sender, EventArgs e){//设置cmbHouXuan只能从boBox中的已有候选值选择this bHouXuan.DropDownStyle = boBoxStyle.DropDownList; //lstResult只能执行单项选择,并且对所有值进展排序this.lstResults.SelectionMode = SelectionMode.One;this.lstResults.Sorted = true;this.GeneratebItems( ); //产生boBox中D的可选项}privatevoid GeneratebItems( ){this bHouXuan.Items.Clear( ); //移除原有的数据Random rd = new Random();for (int i = 0; i < 10; i++) //随机生成10个新的数据{string item = string.Format("Item-{0:X8}", rd.Next( ));this bHouXuan.Items.Add(item); //添加到boBox中}this bHouXuan.SelectedIndex = 0; //默认选中第一条}//重新生成boBox中的侯选项privatevoid btnFresh_Click(object sender, EventArgs e){this.GeneratebItems( ); //重新生成bBox中的候选项}//将bBox中选中值¦添加到ListBox中Dprivatevoid btnAddOne_Click(object sender, EventArgs e){//通过boBox.SelectedItem获取当前选中的候选项,然后添加到ListBox中Dstring item = (string)this bHouXuan.SelectedItem;this.lstResults.Items.Add(item);}//从ListBox中移除当前选中项privatevoid btnRemoveOne_Click(object sender, EventArgs e){if (this.lstResults.SelectedIndex >= 0) //如果当前ListBox中有选中条目,移除它{this.lstResults.Items.RemoveAt(this.lstResults.SelectedIndex);}}//从ListBox中移除所有项privatevoid btnRemovAll_Click(object sender, EventArgs e){this.lstResults.Items.Clear( );}}例5-10:源代码:privatevoid btnMsgBox_Click(object sender, EventArgs e){MessageBox.Show("这是第一个消息框,只有确认按钮");//显示最简单的MessageBoxMessageBox.Show("这是二个消息框¨,有标题,只有确认按钮", "第二个消息框");//显示有文本和标题的MessageBox//显示具有文本、标题、确定和取消按钮的MessageBoxMessageBox.Show("这是第三个消息框¨,有标题,只有确认和¨取消按钮","第三个消息框", MessageBoxButtons.OKCancel);//显示具有文本、标题、确定和¨取消按钮、告警图标的MessageBox MessageBox.Show("这是第四个消息框¨,有标题,只有确认和取消按钮,告警图标", "第四个消息框", MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);}例5-11:源代码:private void btnOpenFile_Click(object sender, EventArgs e){OpenFileDialog ofdlg = new OpenFileDialog( );//创立OpenFileDialog对象ofdlg.Filter = "文本文件(*.txt)|*.TXT|Word文件(*.doc)|*.DOC"; //只选择TXT和DOC 扩展名文件ofdlg.Title = "选择文本文件或Word文件"; //设置对话框的标题if(ofdlg.ShowDialog() == DialogResult.OK) //显示对话框,并等待返回{this.tbOpenFileName.Text = ofdlg.FileName; //如果用户选择了文件那么显示到界面}else{this.tbOpenFileName.Text = "还没有选择要翻开的文件"; //没有选择文件,那么显示默认提示}}例5-12:源代码:private void btnSetColor_Click(object sender, EventArgs e){ColorDialog cdlg = new ColorDialog( ); //创立ColorDialog对象cdlg.Color = btnSetColor.ForeColor; //设置默认颜色为btnSetColor当前前风光if (cdlg.ShowDialog( ) == DialogResult.OK) //显示对话框,并等待返回{this.btnSetColor.ForeColor = cdlg.Color; //选择了新的颜色,那么更新btnSetColor前风光}}例5-13:源代码:private void btnSetFont_Click(object sender, EventArgs e){FontDialog fdlg = new FontDialog( ); //创立FontDialog对象fdlg.Font = btnSetFont.Font; //设置默认字体为btnSetFont当前字体if (fdlg.ShowDialog( ) == DialogResult.OK) //显示对话框,并等待返回{this.btnSetFont.Font = fdlg.Font; //选择了新的字体,那么更新btnSetFont的字体}}四、实验总结通过此次实验,我学会了在Visual Studio 2021中创立和运行窗体程序;也掌握了Windows窗体的根本操作;学习使用了常用的Windows控件;同时学会了使用菜单和工具栏以及通用对话框。
关于winform的书籍
- 《Windows窗体程序设计基础教程》:该书系统地介绍了Windows窗体应用程序开发的基础知识和编程方法,内容包括窗体与控件、菜单、工具栏和状态栏、对话框、打印与文件处理等。
- 《C# Windows窗体开发经典实例》:该书通过大量实例全面地介绍了Windows窗体应用程序开发的各个方面,内容涉及窗体设计、图形图像、多媒体、网络通信、数据库等方面。
- 《C# WinForm从入门到精通》:该书从初学者的角度,循序渐进地讲述了使用C#语言和WinForm技术开发Windows应用程序的基本步骤和方法,内容包括WinForm基础、常用控件、高级控件、文件处理、数据库访问等。
这些书籍都可以帮助你深入了解WinForm技术,并提高你的Windows应用程序开发能力。
你可以根据自己的实际情况和需求选择适合自己的书籍。
一、实验目的1. 熟悉常见控件的功能和使用方法。
2. 学习控件在应用程序中的布局和事件处理。
3. 提高编程实践能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#三、实验内容本次实验主要使用Windows窗体应用程序进行控件的使用,具体内容包括:1. 控件的创建和添加2. 控件的属性设置3. 控件的布局4. 控件的事件处理四、实验步骤1. 创建Windows窗体应用程序(1)打开Visual Studio 2019,选择“创建新项目”。
(2)在“创建新项目”对话框中,选择“Windows窗体应用程序”,命名为“控件实验”。
(3)点击“创建”按钮,完成应用程序的创建。
2. 添加控件(1)在工具箱中找到所需控件,例如:文本框(TextBox)、按钮(Button)、标签(Label)等。
(2)将控件拖拽到窗体上,即可添加控件。
3. 设置控件属性(1)选中控件,在属性窗口中查看和修改控件的属性。
(2)例如,设置文本框的Text属性为“请输入内容”,设置按钮的Text属性为“提交”。
4. 控件布局(1)使用布局工具对控件进行布局,例如:使用水平布局、垂直布局、网格布局等。
(2)调整控件的大小和位置,使界面美观。
5. 控件事件处理(1)双击控件,打开代码编辑器。
(2)在事件处理函数中编写代码,实现所需功能。
(3)例如,在按钮的点击事件中,获取文本框的值并显示在标签中。
五、实验结果与分析1. 创建了包含文本框、按钮、标签的Windows窗体应用程序。
2. 添加并设置了控件的属性。
3. 对控件进行了布局,使界面美观。
4. 编写了按钮点击事件处理函数,实现了获取文本框值并显示在标签中的功能。
六、实验总结通过本次实验,我掌握了以下内容:1. 常见控件的功能和使用方法。
2. 控件在应用程序中的布局和事件处理。
3. 提高了编程实践能力。
在实验过程中,我发现以下问题:1. 对部分控件属性设置不够熟悉,需要加强学习。
.net webservicestudio 源代码在.NET 开发中,Windows GUI 应用程序称为“Windows 窗体”(或“Winforms”)应用程序。
使用Visual C++ 开发Windows 窗体项目,通常与使用任何其他.NET 语言(如Visual 或C#)进行开发并无不同。
使用Visual C++ 编写的Windows 窗体应用程序通过新的Visual C++ 语法使用.NET Framework 类和其他.NET 功能。
有关更多信息,请参见New C++ Language Features。
在本过程中,您将使用“工具箱”中的几种标准控件创建Windows 窗体应用程序。
用户可以在完成后的应用程序中选择一个日期,此时将出现一个文本标签,显示所选的日期。
创建新的Windows 窗体项目在“文件”菜单上,单击“新建”,然后单击“项目”。
在“项目类型”窗格中,选择“Visual C++”节点中的“CLR”,然后在“模板”窗格中选择“Windows 窗体应用程序”。
键入项目的名称,如“winformsapp”。
您可以接受默认位置、键入一个位置或者浏览到要保存项目的目录。
Windows 窗体设计器即打开,显示所创建项目的“Form1”。
向窗体添加控件如果“工具箱”窗口不可见,请单击“视图”菜单上的“工具箱”。
将“工具箱”中的三个控件放到“Form1”设计图面上:将一个Label 控件拖动到靠近“Form1”左上角的位置。
将一个DateTimePicker 控件拖动到Label 控件正下方。
将一个Button 控件拖动到窗体底部靠近中心点的位置。
设置窗体和控件的属性单击窗体图面上的空白区域以选择窗体。
如果“属性”窗口不可见,请单击“视图”菜单上的“属性”(或者按F4)。
您可能需要关闭“工具箱”以获得更多空间。
设置窗体的“Text”属性(显示在窗体标题栏中),方法是在“属性窗口”中“Text”属性的右侧单击,并键入:日期选择器单击以选择标签,将其“Text”属性设置为:选择日期:单击以选择按钮,将其“Text”属性设置为:“确定”编写事件处理程序代码在本节中,您将编写在发生以下事件时运行的代码:Button 控件上的Click 事件DateTimePicker 控件上的ValueChanged 事件编写代码以处理事件双击按钮以添加按钮Click 事件处理程序(按钮的默认事件为Click 事件)。
windows窗体应用程序设计实验报告Windows窗体应用程序设计实验报告一、实验目的本次实验的主要目的是让学生掌握Windows窗体应用程序的设计方法和技巧,了解Windows窗体应用程序的基本结构和运行原理,能够熟练使用Visual Studio等开发工具进行程序设计和调试。
二、实验内容本次实验的主要内容包括以下几个方面:1. 熟悉Windows窗体应用程序的基本结构和运行原理。
2. 学习使用Visual Studio等开发工具进行程序设计和调试。
3. 设计一个简单的Windows窗体应用程序,实现基本的界面设计和功能实现。
三、实验步骤1. 熟悉Windows窗体应用程序的基本结构和运行原理。
Windows窗体应用程序是一种基于Windows操作系统的图形用户界面应用程序,它采用了Windows窗体技术,可以实现丰富的用户界面和交互功能。
Windows窗体应用程序的基本结构包括窗体、控件、事件等,其中窗体是应用程序的主界面,控件是窗体中的各种元素,事件是控件与用户交互的响应动作。
Windows窗体应用程序的运行原理是通过.NET Framework提供的Windows Forms 类库实现的,它可以在Windows操作系统上运行,并且可以与其他.NET应用程序进行交互。
2. 学习使用Visual Studio等开发工具进行程序设计和调试。
Visual Studio是一款强大的集成开发环境,可以支持多种编程语言和应用程序类型的开发。
在本次实验中,我们使用Visual Studio 进行Windows窗体应用程序的设计和调试。
具体步骤如下:(1)打开Visual Studio,选择“新建项目”,选择“Windows 窗体应用程序”,命名为“HelloWorld”。
(2)在窗体中添加一个标签控件,设置其文本为“Hello World!”。
(3)在窗体中添加一个按钮控件,设置其文本为“点击我”。
(4)在按钮的Click事件中添加代码,使得点击按钮时标签的文本发生变化。
winform面试题简介WinForm(Windows Forms)是一种用于创建Windows桌面应用程序的技术。
通过WinForm,开发人员可以使用.NET框架创建界面丰富、交互性强的Windows应用程序。
本文将介绍一些常见的WinForm面试题,帮助读者加深对WinForm的理解,为面试做好准备。
WinForm面试题1. 什么是WinForm?WinForm是一种基于.NET框架的技术,用于创建Windows桌面应用程序。
它提供了一组用于创建界面、处理用户输入、管理窗体和控件的类和方法。
2. WinForm和WPF有什么区别?WinForm和WPF都是用于创建Windows桌面应用程序的技术,但它们有一些区别。
WinForm是基于传统的Windows GUI,使用了类似于VB6的开发模型,适用于简单的界面和快速开发。
WPF则是基于XAML的技术,具有强大的界面布局和数据绑定能力,适用于复杂的界面和具有高度定制化需求的应用程序。
3. 如何创建一个WinForm应用程序?要创建一个WinForm应用程序,首先需要在Visual Studio中创建一个新的Windows Forms应用项目。
然后,在窗体设计器中添加控件、调整布局,并为控件添加事件处理程序。
最后,编写代码实现应用程序的逻辑功能。
4. 什么是控件的事件?控件的事件是指当用户与控件交互时触发的动作或操作。
例如,当用户点击按钮时,按钮的Click事件会触发,可以编写相应的代码来响应用户的操作。
5. 如何在WinForm中布局控件?WinForm提供了多种布局控件的方式。
常用的布局控件有Panel、TableLayoutPanel和FlowLayoutPanel等。
可以根据实际需求选择适合的布局方式,并通过设置控件的属性和调整它们的位置和大小来实现布局效果。
6. 如何在WinForm中处理异常?在WinForm应用程序中,可以使用try-catch语句来捕获和处理异常。
使⽤VisualStudio2019创建C#项⽬(窗体应⽤程序、控制台应⽤程序、Web应⽤程序)⼀、VS的开发环境⾸先你得安装了vs2019,然后确认下下⾯三个组件是否存在,如果没有要下载⼀下。
vs2019的安装可参考。
⼆、创建C#窗体应⽤程序打开vs可以直接在搜索框输⼊关键字进⾏搜索,选择 Windows 窗体应⽤(.NET Framework)。
如图。
也可以限定项⽬类型,所⽤的语⾔进⾏查找。
接下去狂点确定即可。
当然可以选择改个项⽬存放存放的⽬录和项⽬名称。
创建好后,就进⼊到了这么⼀个界⾯。
在窗体右边(也可能是在左边。
每个⼈的设置可能不同)有⼀个⼯具箱的选项,打开有⼀些窗体应⽤所需的控件。
接下来我们写个⼩程序测试⼀下项⽬是否能正常运⾏。
实现的功能就是当我们点击按钮的时候,能显⽰出⽬前的点击次数。
⾸先从属性那边拖动两个空间到窗⼝上,分别是Button和Label。
并把它们的名称和内容分别修改为(btn,点击)和(lab,0)接着绑定按钮的点击事件,如果不知道事件是什么,没关系,先跟着做就⾏。
可以从属性窗⼝那,点击右上⾓的闪电图标,然后点击Clike的按钮,如图。
或者直接双击按钮。
之后就会跳转到这么⼀个代码界⾯。
然后编写我们所需要的代码即可。
如下。
完成效果。
(虽然画⾯有点丑)三、创建控制台应⽤程序创建步骤跟上⾯类似,选择控制台应⽤程序创建即可写个测试程序。
从控制台输⼊⼀句话并打印出来了。
四、创建Web应⽤程序选择创建⼀个Web应⽤程序,如图。
选择空项⽬添加⼀个Web窗体创建好后是这么个界⾯。
可以直接编写H5代码。
或者点击左下⾓设计。
进⼊这么⼀个界⾯。
跟windows窗体应⽤开发很相似。
在右边也有个⼯具箱。
有许多控件可以使⽤。
添加⼀个Label和Button 空间到窗体,并修改下id和text。
要实现的功能是当点击按钮后将Label中的内容转成⼤写。
跟窗体应⽤程序⼀样,双击Button就可以绑定事件然后进⾏编辑。