winform 之1---窗体介绍
窗体是winform开发的基础,需要掌握窗体的创建、属性、调用和窗体传值等等。
1、在项目中添加窗体很简单,在项目上点击右键,选择添加windows窗体即可为项目添加新的窗体。
2、窗体的属性设置,右键点击窗体,选择属性,VS右侧即可看到窗体的属性,winform所有控件的属性设置皆可以通过此种方式进行设置。
(1)更改窗体的图标:在窗体的属性中有Icon这个属性,单击选择我们要设置的图片即可。图片必须是ico文件。可以到EasyICON这个网站上找找,有很多很好的图标。
(2)隐藏窗体的标题栏:把窗体的属性FormBorderStyle设为None即可。
FormBorderStyle的属性值:
Fixed3D:固定的三维边框
FixedDialog:固定的对话框样式的粗边框
FixedSingle:固定的单行边框
FixedToolWindow:不可调整大小的工具窗口边框
None:无边框
Sizable:可调整大小的边框
SizableToolWindow:可调整大小的工具窗口边框
(3)控制窗口的显示位置:StartPosition属性来实现
CenterParent:窗体在其父窗体中居中
CenterScreen:窗体在当前显示窗口中居中,其尺寸在窗体大小中指定
Manual:窗体的位置由Location属性确定
WindowsDefaultBounds:窗体定位在Windows默认位置,边界由Windows默认决定
WindowsDefaultLocation:窗体定位在Windows默认位置,其尺寸在窗体大小中指定
(4)修改窗体大小:双击Size属性,有Width和Height两个属性,分别设置即可。
(5)设置窗体背景图片:通过BackgroundImage属性实现
打击打开有两种选择:
选择本地资源,保存的是图片的路径
选择项目资源文件,将选择的文件保存到项目资源文件Resource.resx中,开发中最好导入到资源文件中,这样软件在打包的时候也可以打包进去。
(6)窗体的显示和隐藏:
显示:Form form = new Form(); form.Show();
隐藏:Form form = new Form(); form.Hide();
首先,Show()和Hide()是非静态方法,所以我们需要创建窗体对象进行调用。
其次,使用Hide(),窗体所占用的资源并没有从内存中释放掉,而是继续存储在内存中,所以我们可以随时再调用Show()方法进行显示隐藏的窗体。
如果我们要关闭当前窗体form.Close()时也关闭所有的隐藏窗体,则:Application.exit();
(7)触发窗体事件:单击属性栏里的闪电图标就能看到窗体所有的事件。双击Click即可创建了窗体的Click事件。
private void Form_Click(object sender,EventArgs e){}
(8)窗体加载事件(Load),创建过程同,一般情况下我们会使用此方法,在窗体load时加载一些需要的初始信息。
private void Form_Load(object sender,EventArgs e){}
(9)窗体关闭事件(FormClosing)
FormClosing事件
在窗体关闭时,FormClosing事件发生。此事件会得到处理。从而释放与窗体相关的所有资源。
如果取消此事件,则窗体仍然保持打开状态。
当窗体显示为模式对话框时,单击“关闭”会隐藏窗体并将DialogResult属性设为Cancel。通过在些事件中设置DialogResult属性可以在用户单击右上角关闭按钮时重写 DialogResult的值。
FormClosed事件
在用户或Application类的Close方法或Exit方法关闭窗体后,会发生FormClosed事件。
可以使用此事件释放窗体的一些资源。还可以使用此事件保存输入窗体中的一些信息或者更新父窗体。
(10)窗体弹出框
首先,MessageBox.Show()是弹出框的,类似js的alert
其次,这个是使用if语句判断是否单击了"是"按钮:
if(MessageBox("是否查看窗体!","","MessageBoxButton.YesNo,MessageBoxIcon.Information")==DialogResult.OK){}
也可以这样:
DialogResult dr=MessageBox("是否查看窗体!","","MessageBoxButton.YesNo,MessageBoxIcon.Warning");
dr==DialogResult.YES.......
winform 之1---窗体介绍的更多相关文章
- C#WinForm无边框窗体移动方法、模仿鼠标单击标题栏移动窗体位置
C#WinForm无边框窗体移动方法.模仿鼠标单击标题栏移动窗体位置 这里介绍俩种办法 方法一:直接通过修改窗体位置从而达到移动窗体的效果 方法二:直接伪装发送单击任务栏消息,让应用程序误以为单击任务 ...
- WinForm无边框窗体移动方法
C#WinForm无边框窗体移动方法.模仿鼠标单击标题栏移动窗体位置 这里介绍俩种办法 方法一:直接通过修改窗体位置从而达到移动窗体的效果 方法二:直接伪装发送单击任务栏消息,让应用程序误以为单击任务 ...
- C#WinForm无边框窗体移动----模仿鼠标单击标题栏移动窗体位置
C#WinForm无边框窗体移动方法.模仿鼠标单击标题栏移动窗体位置 这里介绍俩种办法 方法一:直接通过修改窗体位置从而达到移动窗体的效果 方法二:直接伪装发送单击任务栏消息,让应用程序误以为单击任务 ...
- winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体
winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始 ...
- WinForm中一个窗体调用另一个窗体
[转] WinForm中一个窗体调用另一个窗体的控件和事件的方法(附带源码) //如果想打开一个 Form2 的窗体类,只需要: Form2 form = new Form2(); //有没有参数得看 ...
- C#自定义按钮、自定义WinForm无边框窗体、自定义MessageBox窗体
C#自定义按钮.自定义WinForm无边框窗体.自定义MessageBox窗体 C#自定义Button按钮控件 效果展示 C#自定义Winform无边框窗体 效果展示 C#自定义无边框MessageB ...
- C#自定义Winform无边框窗体
C#自定义Winform无边框窗体 在实际项目中,WinForm窗体或者控件不能满足要求,所以就需要自己设计窗体等,当然设计界面可以用的东西很多,例如WPF.或者一些第三方的库等.本例中将采用WinF ...
- C# WinForm开发 取消窗体关闭按钮
//禁用窗体的关闭按钮 private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParam ...
- GUI JFrame窗体介绍:
GUI JFrame窗体介绍: https://www.cnblogs.com/-ksz/p/3422074.html
- 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件
项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能 ...
随机推荐
- DRP过后,感受知识间的通性
DRP视频看了不短的时间,真正开始DRP的时间是7月17号,至今两个月了.由于暑假期间英语的学习占得时间比较多,所以DRP视频进行的很慢.9月11号看完了DRP所有的视频,这个项目完成后最大的感受是: ...
- c 计算Fibonacci数列:1,1,2,3,5,8,13……这题也是很经典。
输出数字序列2/,/,/,/,/,/...,输出个数由键盘输入.注意输入使用scanf输入 比如: 输入 3输出为 / / / 输入 输出为 / / / / #include<stdio.h&g ...
- Enze frist day
今天是我来到云和学院正式开班上课的第一天,我选择学习的科目是.net.因为.net我在学校的时候接触过一些,所以我想要更加深入的去学习.我觉得一个学生在学习上最怕的是没有遇到一位负责任的好老师,但幸运 ...
- Codeforces Round #316 (Div. 2C) 570C Replacement
题目:Click here 题意:看一下题目下面的Note就会明白的. 分析:一开始想的麻烦了,用了树状数组(第一次用)优化,可惜没用. 直接判断: #include <bits/stdc++. ...
- BZOJ 1782: [Usaco2010 Feb]slowdown 慢慢游( BIT + dfs )
orz...hzwer 对着大神的 code 看 , 稍微理解了. 考虑一只牛到达 , 那它所在子树全部 +1 , 可以用BIT维护 --------------------------------- ...
- java覆写equals方法
何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念). object规范规定,如果要重写equals(),也要重写hashcode() 如何覆写equals() ...
- github每次push都需要密码以及用户名的解决办法
git remote set-url origin git@github.com:你的账户/项目名称.git就可以直接git push origin master了.
- open和fopen的区别:
1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量.执行 ...
- javascript单元测试(转)
1. 什么是单元测试 在计算机编程中,单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单 ...
- hibernate 数据关联多对多 4.1
多对多,必须有一张关系表来维持关系 数据库student,teacher student_teacher 三张表 但是在pojo中只需要建立student和teacher两个类,除非关系表也代表某种业 ...