最近搞一个winform的socket编程的课设,平时对winform这块没有研究,以为和C# web差不多的,不曾想窘状百出。没办法,只能硬着头皮赶紧学Form窗体的一些基本知识和socket编程。
首先,谈一谈学Form窗体的一些认识和感悟。
1.关于窗体应用的创建就不说了,当我们在一个项目中添加了多个窗体,
随之而来的调试问题就是:怎么设置首先运行的窗体呢?
解决方案:一般我们建项目之后,在项目中我们会找到有Program.cs文件,双击打开之后里面有一行:Application.Run(new ***());
***代表起始运行的窗体名,我们只要把***这部分改成我们想要起始运行的窗体名就可以了。
2.更改窗体的图标,在窗体的属性中有Icon这个属性,单击选择我们要设置的图片即可。
3.隐藏窗体标题栏:把窗体的属性FormBorderStyle设为None即可。
FormBorderStyle的属性值:
Fixed3D:固定的三维边框
FixedDialog:固定的对话框样式的粗边框
FixedSingle:固定的单行边框
FixedToolWindow:不可调整大小的工具窗口边框
None:无边框
Sizable:可调整大小的边框
SizableToolWindow:可调整大小的工具窗口边框
4.控制窗口的显示位置:StartPosition属性来实现
CenterParent:窗体在其父窗体中居中
CenterScreen:窗体在当前显示窗口中居中,其尺寸在窗体大小中指定
Manual:窗体的位置由Location属性确定
WindowsDefaultBounds:窗体定位在Windows默认位置,边界由Windows默认决定
WindowsDefaultLocation:窗体定位在Windows默认位置,其尺寸在窗体大小中指定
5.修改窗体大小:双击Size属性,有Width和Height两个属性,分别设置即可。
6.设置窗体背景图片:通过BackgroundImage属性实现
打击打开有两种选择:
选择本地资源,保存的是图片的路径
选择项目资源文件,将选择的文件保存到项目资源文件Resource.resx中
7.窗体的显示和隐藏:这是块大头
显示:Form form = new Form();form.Show();
隐藏:Form form = new Form();form.Hide();
首先,Show()和Hide()是非静态方法,所以我们需要创建窗体对象进行调用。
其次,使用Hide(),窗体所占用的资源并没有从内存中释放掉,而是继续存储在内存中,所以我们可以随时再调用Show()方法进行显示隐藏的窗体。
如果我们要关闭当前窗体时也关闭所有的隐藏窗体,则:Application.exit();
8.触发窗体事件:单击属性栏里的闪电图标就能看到窗体所有的事件。双击Click即可创建了窗体的Click事件。
private void Form_Click(object sender,EventArgs e){}
9.窗体加载事件(Load),创建过程同上
private void Form_Load(object sender,EventArgs e){}
10.窗体关闭事件(FormClosing)
private void Form_FormClosing(object sender,FormClosingEventArgs e){}
11.我们通常想在窗体中给用户弹出提示框,就像js的confirm一样。
我们可以这样做:
首先,MessageBox.Show()是弹出框的,类似js的alert
其次,这个是使用if语句判断是否单击了"是"按钮:
if(MessageBox("是否查看窗体!","","MessageBoxButton.YesNo,MessageBoxIcon.Information")==DialogResult.OK){}
也可以这样:
DialogResult dr=MessageBox("是否查看窗体!","","MessageBoxButton.YesNo,MessageBoxIcon.Warning");
dr==DialogResult.YES.......