当前位置: 首页 > news >正文

上海网站改版方案留学网站模板

上海网站改版方案,留学网站模板,定制app开发哪家合适,企业网站建设规划的基本原则是什么文章目录 WinForm开发环境的使用软件部署的架构B/S 架构应用程序C/S 架构应用程序 创建 Windows 应用程序窗口介绍查看设计窗体 Form1.cs 后台代码窗体 Form1.cs窗体的常用属性 事件驱动机制事件的应用事件的测试测试事件的级联响应常用控件的事件事件响应的公共方法 消息提示的… 文章目录 WinForm开发环境的使用软件部署的架构B/S 架构应用程序C/S 架构应用程序 创建 Windows 应用程序窗口介绍查看设计窗体 Form1.cs 后台代码窗体 Form1.cs窗体的常用属性 事件驱动机制事件的应用事件的测试测试事件的级联响应常用控件的事件事件响应的公共方法 消息提示的用法为什么要使用消息框使用参数格式MessageBoxButtons 属性 样式MessageBoxIcon属性 样式示例 WinForm开发环境的使用 WinForms作为 .NET Framework 中用于创建 Windows 应用程序的用户界面的一部分提供了丰富的控件和组件极大地便利了桌面应用程序的开发。本篇文章将深入探讨 WinForms 中的事件驱动机制和消息提示框的使用方法旨在帮助开发者更好地理解和运用这些基础知识以提升开发效率和改善程序的用户体验。 本专栏会持续更新Winform相关教程,可以订阅追更 !!! 软件部署的架构 B/S 架构应用程序 B/S 架构应用程序Web应用程序浏览器/服务器Browser/Server 浏览器将请求发送给Web服务器,Web服务器对请求进行处理将响应的数据发回浏览器。应用程序全部部署在服务器端客户端只有浏览器。对应各大公司的官网 Web 开发。 ┌───────────────┐ ┌───────────────┐│ 客户端 │ │ Web服务器 ││ (浏览器) ├──────│ ││ │ │ 应用程序 ││ │ │ 数据处理 ││ │ │ 业务逻辑 │└───────────────┘ └───────────────┘││▼┌──────────────┐│ 数据库 │└──────────────┘C/S 架构应用程序 C/S 架构应用程序( Windows、WinForm、桌面应用程序)客户端/服务器( Client/Server ) 客户端向服务器发出请求,服务器处理请求并将响应发送给客户端。应用程序全部或部分部署在客户端,数据库或部分程序在服务器端。 ┌───────────────┐ ┌───────────────┐│ 客户端 │ │ 服务器端 ││ (Windows App│ │ 应用程序 ││ 或桌面App) ├──────│ 数据处理 ││ │ │ 业务逻辑 │└───────────────┘ └───────────────┘││▼┌──────────────┐│ 数据库 │└──────────────┘ 创建 Windows 应用程序 在 Visual Stuido 中创建 Windows 应用程序的步骤: 打开 VS2022 或者 其他版本 创建新项目 项目类型: Visual C#项目 模板: Windows应用程序 配置新项目设置项目名称、保存的路径、以及.net framework版本 窗口介绍 菜单区域 工具栏 编辑区可以根据需求调整大小 工具箱可以尝试拖几个控件到我们的编辑区 属性区可以修改控件的属性和行为 如果找不到属性窗口视图 - 属性窗口(W) F4 窗体的设计文件(稍后会详细讲解) 窗体的资源文件 应用程序的主入口点 Program.cs(将来根据需求修改里面的代码) 应用程序的引用 程序集信息 运行项目可在解决方案右键在资源管理器中显示找到 Debug 文件中的 exe 文件。 查看设计窗体 Form1.cs 后台代码 快捷键选择 Form1.cs F7 快捷键再次摁下 shift F7 可还原窗体 窗体 Form1.cs 选择 Form1.cs F7打开后台代码。 冒号在 C# 中有两种特殊的含义1.类的继承 2.接口的实现。当前类 Form1 是继承自窗体类 Form自动的就拥有了 Form 类里面相关的属性和方法。 把窗体 Form1 的名字修改一下一般主窗体命名为FrmMain。 FrmMain.cs 中的 partial部分的 和 FrmMain.Designer.cs 中的 partial 一样不是一个类的修饰符是限定这个类本身的组成部分叫做部分类。当程序在编译和运行时会把 FrmMain.cs 中的 FrmMain 类和 FrmMain.Designer.cs 中的 FrmMain 类会编译成一个类。 可以自己在资源管理上右键添加一个新的类(默认图标变成了窗体小图标因为它就是窗体类它是继承于 Form 类的) 在 FrmMain.cs 的构造函数中调用窗体的设计 Form1.Designer.cs。 partial class FrmMain {void test(){//如果想使用cw在项目右键属性-应用程序输出类型-控制台应用程序Console.WriteLine(测试部分类);} } 打开 Form1.Designer.cs 代码文件这个文件其实就是窗体 Form1 对应的代码文件。我们在窗体 Form1 上拖拽的控件最终都要在这里生成对应的代码模块。public FrmMain() {this.test();InitializeComponent(); }打开 Form1.Designer.cs 代码中 Windows窗体设计器生成的代码这个代码块我们看到里面有对这个窗体的代码// Form1/FrmMain有对按钮设计的代码// button1。当我们选择窗体或者按钮在右边属性面板修改对应控件的属性时比如标题 Text、背景图片 Image对应模块的代码就会发生变化。 总结窗体由两部分构成窗体的直接代码 Form1.cs 和设计器生成的代码 Form1.Designer.cs一般 Form1.Designer.cs 的代码我们不需要去动它。 psForm1.Designer.cs 中的InitializeComponent方法是在 Form1.cs 的构造函数中调用的。当然你可以把 InitializeComponent 中的代码直接粘贴到 Form1.cs 的构造函数中 窗体的常用属性 选中窗体找到右边的属性面板。前两个按钮可以选择排序方式按分类顺序和按字母顺序都可以 按字母顺序 Name 属性控件的 idName 属性必须唯一不能和其他控件相冲突。Text 属性窗体的标题win7默认靠左win8默认在中间win10默认靠左可代码修改见下方MaximizeBox控制窗体的最大化是否能被点击双击或者在属性值框都可以修改它的值WindowState设置窗体是否自动最大化 Normal正常状态Minimized启动时窗体最小化Maximized启动时窗体最大化 StartPosition确定窗体第次出现时的位置。 Manual窗体的位置由location属性确定。可以自己设置相应位置其代码如下this.StartPosition FormStartPosition.Manual; this.Location new Point(100,200);//x100,y200CenterScreen窗体上当前显示居中显示并且具有指定的窗体的大小的尺寸。适合用于一个窗口。WindowsDefaultLocation窗体定位在Windows默认位置并且具有指定的窗体的大小的尺寸。一般默认为这个。WindowsDefaultBounds窗体定位在Windows默认位置其边界也由Windows默认决定。centerparent窗体在其父窗体的边界内居中。适合于多个窗体各个窗体之间嵌套。 FormBorderStyle窗口的边框样式一般在设计时就要确定下来。用户自由调节窗体的大小会破坏窗体控件布局的美观性所以我们要禁用窗机大小的调节。 None将窗口设置为无边框、无标题栏。用户无法改变窗口的大小也无法改变窗口显示的位置FixedSingle将窗口设置为固定的单框窄框用户无法用鼠标拖动边框改变窗口的大小但可以通过最大化按钮将窗口最大化、最小化按钮将最小化Fixed3D将窗口设置为固定框3D风格用户无法用鼠标拖动边框改变窗口的大小但可以通过最大化按钮将窗口最大化、最小化按钮将最小化。窗口的工作区具有凹陷3D效果FixedDialog将窗口设置为固定框对话框风格用户无法用鼠标拖动边框改变窗口的大小但可以通过最大化按钮将窗口最大化、最小化按钮将最小化Sizable正常窗口样式用户可以拖拽大小默认选项FixedToolWindow将窗口设置为固定框工具窗口风格用户无法用鼠标拖动边框改变窗口的大小工具窗口风格的特点是标题栏高度比较小且只有关闭按钮SizableToolWindow和上面风格一样只是用户可以拖拽大小 Icon窗体左上角的图标。注意图片必须是 .ico 格式的图片 IconFinderSize控件的大小(以像素为单位)。有 Width 和 Height 构成整形Font用于显示控件中文本的字体。BackgroundImage用于该控件的背景图像。BackColor组件的背景色。 ps选中点击每个属性在下面小窗体中都有对应的解释说明。 ps在win7和win10设置标题居中的代码方法 public FrmMain() {test();InitializeComponent();SetTitleCenter(); }private void SetTitleCenter() {// 先确随便写一个标题的内容string titleMsg Winfrom Title;// 获取对Graphics对象的引用Graphics g this.CreateGraphics();// 根据Graphics对象来计算标题的开始居中位置Double startingPoint (this.Width / 2) - (g.MeasureString(titleMsg, this.Font).Width / 2);// 计算一个空字符所占像素长度Double widthOfASpace g.MeasureString( , this.Font).Width;// 定义一个空字符串来用作为标题之前做占位String tmp ;// 定义一个初始占位像素Double tmpWidth 0;// 循环遍历将startingPoint之前的像素都用空字符代替:while ((tmpWidth widthOfASpace) startingPoint){tmp ;tmpWidth widthOfASpace;}// 最后将标题字符跟换this.Text tmp titleMsg; }事件驱动机制 事件的应用 计算机中的事件 鼠标按下、键盘按下、鼠标移入移出移动、输入框的文本内容变化… 事件的作用 windows系统通过事件处理来响应用户的请求,在没有用户请求之前,事件处于静止等待状态。 事件的组成 提前设置好一个事件(.NET平台设计) ,然后根据需要添加一个事件处理程序(开发者自定义) ,最后将“事件本身”和“处理程序”连接起来(后台自动关联)当用户操作引发事件的时候(比如单击按钮、双击图标等) ,自动调用事件处理程序完成相应任务。 事件的测试 创建一个新的 Windows 窗体应用(.Net FrameWork)项目把默认窗体 Form1.cs 更名为 FrmMain.cs。 窗体的标题可以更名为事件的测试把窗体的位置 StartPosition 设置为屏幕的中央。 打开工具箱随便拖拽一个按钮 Button并修改其相关属性 Text修改为“测试按钮的事件” Name相当于控件的 id必须是唯一的修改为“btnTest”。其实对应的就是修改了FrmMainDesigner.cs 中的代码在 FrmMainDesigner.cs 中给我们拖拽的按钮生成了代码并定义了变量private System.Windows.Forms.Button button1;当我们修改了 Name 属性后对应的变量名就发生了变化private System.Windows.Forms.Button btnTest;这就是为什么要唯一的原因了变量名不能重复 找到属性面板中的事件标签选中自己要实现的事件类型。比如单击事件 Click双击 Click 属性就能在 FrmMain.cs 代码中帮你生成事件的回调函数。 如何删除这个按钮的事件找到属性面板中的 Click 属性右键选择重置即可。 另外一种生成事件的回调函数方式双击窗体中的按钮默认会生成按钮 的单击 Click 事件。其他控件基本也是一样的通过双击一般会生成该控件常用的事件 注意删除事件函数时不能只单单删除 FrmMain.cs 中的事件代码这个时候运行是会报错的。 遇到程序报错不要害怕一般双击第一个报错信息(原因有时候会有一堆错误后面的错误有可能是因为第一个主要的错误导致后面那一系列的错误)就能找到报错的原因及报错的位置。 这里额外解释一下这句代码 this.btnTest.Click new System.EventHandler(this.btnTest_Click); 这里的 btnTest.Click 是一个事件委托通过 多播的形式记录所有的点击事件。这里的 this.btnTest_Click 其实就是 FrmMain.cs 代码中生成的事件方法。 在 FrmMain.cs 中的 this.btnTest_Click 方法中加入Console.WriteLine(点击了按钮); 或者 MessageBox.Show(点击了按钮); 点击测试。 再次体验一下 this.btnTest.Click new System.EventHandler(this.btnTest_Click); 这句代码。 我们再拖拽一个按钮 Button。 Text标题修改为“事件断开”Name修改为“BtnBreak” 生成单击事件双击按钮即可 在 BtnBreak 的事件方法中加入this.btnTest.Click - new System.EventHandler(this.btnTest_Click); 我们再拖拽一个按钮 Button。 Text标题修改为“事件链接”Name修改为“BtnLink” //事件处理程序(函数) //参数1: 绑定事件的这个控件 //参数2: 事件对象 不同的事件拥有不同的事件对象 private void btnTest_Click(object sender, EventArgs e) {Console.WriteLine(点击了按钮);MessageBox.Show(点击了按钮); }生成单击事件双击按钮即可ps可以多点几次测试多播。 测试事件的级联响应 重点理解sender 参数的含义及作用。 在窗体中再拖拽一个按钮 Button命名Name为BtnTestEventText测试事件的响应。 // FrmMain.cs public partial class FrmMain : Form {public FrmMain(){InitializeComponent();// 该方法可以直接从 FrmMain.Designer.cs 中剪切过来// 将按钮的单击事件和事件响应方法结合起来this.btnTest.Click new System.EventHandler(this.btnTest_Click);}// 事件的响应方法private void btnTest_Click(object sender, EventArgs e){Console.WriteLine(点击了按钮);MessageBox.Show(点击了按钮);}private void BtnBreak_Click(object sender, EventArgs e){this.btnTest.Click - new System.EventHandler(this.btnTest_Click);}private void btnLink_Click(object sender, EventArgs e){this.btnTest.Click new System.EventHandler(this.btnTest_Click);} }ps在窗体上按住 Ctrl 拖拽某个控件可以快速生成控件。 再生成三个按钮 命名Name为btnAndyTextAndy老师命名Name为btnCarryText Carry老师命名Name为btnCocoTextCoco老师 自己来实现一个单击事件 给三个按钮添加同一个事件响应方法。 常用控件的事件 窗体的重要事件 Load :窗体加载事件(应用较少)FormClosing:窗体关闭之前发生的事件FormClosed:窗体关闭以后发生的事件 文本框的重要事件 TextChanged :文本框内容改变事件KeyPress :用户按下某键并释放的时候发生的事件MouseLeave :当鼠标离开文本框的时候发生 下拉框的重要事件 SelectedIndexChanged :当用户选择的下拉项改变的时候发生 事件响应的公共方法 private void btnTeacher_Click(object sender,EventArgs e) {// sender// string text (sender as Button).Text;string text ((Button)sender).Text;MessageBox.Show(text); } public FrmMain() {InitializeComponent();// 该方法可以直接从 FrmMain.Designer.cs 中剪切过来// 将按钮的单击事件和事件响应方法结合起来this.btnTest.Click new System.EventHandler(this.btnTest_Click);// 给三个按钮添加同一个事件响应方法this.btnAndy.Click new System.EventHandler(this.btnTeacher_Click);this.btnCarry.Click new System.EventHandler(this.btnTeacher_Click);this.btnCoco.Click new System.EventHandler(this.btnTeacher_Click); }消息提示的用法 为什么要使用消息框 显示消息向用户请求信息。 合理使用消息提示框因为每次弹出都需要用户去做处理弹出的频率和次数过高用户也是会感觉很反感的。现在大多数的提示后可以在界面上直接提示比如登录注册时直接在文本框的后面显示红色小字提示。 使用 在窗体上拖拽一个按钮在控件上直接右键找到属性菜单转到设置面板Name: Text:测试消息框。 双击按钮生成事件的响应方法 btnTestMsg_Click。方法内写上MessageBox.Show(“Test”); 参数格式 MessageBox.Show(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton)官方: MessageBox.Show 官方文档 MessageBoxButtons 属性 样式 MessageBoxIcon属性 样式 示例 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace _03_消息提示 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){// 参数1: 提示信息// MessageBox.Show(弹出框);// 参数2:设置弹出框的标题// MessageBox.Show(弹出框, 窗口标题);// 参数3:设置一个MessageBoxButtons类型的枚举// 参数4:设置图标// 参数5:设置默认第几个按钮是默认选中的// MessageBox.Show(弹出框, 窗口标题, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2);// 返回值// 返回值是枚举类型,可以通过判断枚举的类型来进行下一步操作DialogResult res MessageBox.Show(弹出框, 窗口标题, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2);if (res DialogResult.Cancel){// 取消操作}else{// 确认操作}Console.WriteLine(res);}} }觉得本篇文章写的还不错可以点赞收藏关注。主页还有21天速通C#教程欢迎订阅!!!
http://www.zqtcl.cn/news/123025/

相关文章:

  • 哪里有网站建设多少钱网站建设哪家服务态度好
  • 白云区网站开发公司备案不关闭网站的方法
  • 男的做那个视频网站家用电脑可以做网站服务器
  • 网站建设的行业客户烟台市未成年思想道德建设网站
  • 设计个网站要多少钱鼓楼网站开发
  • 东莞外贸网站搭建制作北京app开发制作
  • 优化网站公司外包微信商城怎么开店
  • 网站设计的导航栏怎么做东莞seo网络优化
  • wordpress直接上传视频网站吗做网站软件
  • 电脑维修网站模板下载来个网站吧好人一生平安2021
  • 做公益选哪个网站好网站建设方案多少钱
  • 丰台做网站的公司vs2015 手机网站开发
  • 宝思哲手表网站qq官网登录入口网页版
  • 二手书网站开发设计太原建设网站的公司
  • 江门网站seo推广qq代挂网站建设
  • 合肥制作网站企业做文字logo的网站
  • php 网站提速有没有帮人做简历的网站
  • 九江建网站报价比特币网站做任务
  • 电子商务网站开发目的和意义网站建设湖南岚鸿建设
  • 网站改版提交给百度个人定做衣服店
  • 网站接广告网站用途说明
  • 中兴豫建设管理有限公司网站中小企业网站建设济南兴田德润o厉害吗
  • 枣庄有做网站的吗网站 关键词 多少个
  • 广州10大网站服务品牌做网站买了域名之后
  • 北京网站备案电商网站建设考试
  • 微信官网网站虚拟主机网站被挂马
  • 怎么看网站是不是h5做的建设网站的目的和功能
  • 购销网站建设视频百度云中国数据网
  • 网站运营队伍与渠道建设成都开发网站建设
  • 手机网站图片宽度做儿童交互网站