WinForm - 也叫做C/S 客户端
另:B/S是 网页端
客户端应用程序 - 是需要安装在用户电脑上才可以使用的程序
特点: 不需要联网也可以打开使用部分功能,但是现在的情况是许多功能依然需要互联网的支持,代码部分在用户电脑上执行
使用VS新建项目-Windows窗体应用程序
在打开的设计界面上,右击窗口点击属性,即可设置窗体本身的各种属性:
一、常用属性:
布局:
AutoScroll:当控件内容超出可见区域是否显示滚动条;
Autosize:当控件内容有超出时是否自动调整窗口;
Location:控件左上角相对于其容器的坐标;x,y定位 像素为单位
StartPosition:窗口运行的位置,居中之类的,CenterScreen--居中,Manual--屏幕左上角(跟Location一起使用);CenterParent根据父级窗体来居中
Maximumsize:窗体可调整到的最大大小;
Minimumsize:窗体可调整到的最小大小;
Size :窗口大小 x y 像素为单位
WindowState :运行的状态,运行起来最大最小化;
窗口样式:
ControlBox :窗体左上角图标和右上角的最大最小关闭按钮;
HelpButtion: 窗体的帮助按钮
Icon :设置窗体左上角的图标,只能是ico文件;
MaximizeBox :控制最大化按钮是否可用;
MinimizeBox :控制最小化按钮是否可用;
HelpButton:帮助窗口(仅当没有最大化按钮和最小化按钮时显示);
Opacity:透明度;百分之0完全不可见
ShowIcon:是否显示左上角图标;
ShowInTaskbar :是否在windows任务栏里显示窗体;
TopMost :最顶层窗口,始终在最上面 (类似QQ的登陆界面)
TransparencyKey:要透明显示的颜色是哪个颜色,一般用来做透明窗体
设计:
Name:窗体类的类名;类似HTML里面的ID选择器
外观:
BackColor:背景颜色;
BackgroundImage :背景图片;本地资源跟项目文件
BackgroundImagelayout : 背景图片布局;Center居中 Stretch拉伸 Zoom固定
Cursor :鼠标样式;
FormBorderStyle :边框样式;FixedSingle固定的锁定的不可拖拽的;Fixed3D 固定的三维样式边框 FixedDialog 固定的对话框样式的粗边框
Sizable 默认的,可调整大小的边框 FixedToolWindow 不可调整大小的工具窗口边框(关闭右上角的工具栏) SizableToolWindow 可调整大小的工具窗口边框(隐藏左上角图标)
None 无边框
Text:标题栏文字;(左上角显示的文字)
恶搞窗体:
1、启动最大化 Maximized
2、隐藏标题栏,挡住任务栏 FormBorderStyle None
3、置顶 TopMost
4、不在任务栏显示 ShowInTaskbar
5、隐藏任务管理器中的图标 Text设置为空
6、屏蔽Alt+F4 查看代码,放到类里面 去事件里找到keyDown 委托上
if (e.KeyCode == Keys.F4 && e.Modifiers == Keys.Alt){e.Handled = true;}
7、透明度1% / 蓝屏背景图
窗体的几个类型:
1、记事本(可随意调整大小和位置)
2、计算器(不可调整大小 并且最大化按钮不可用)
3、美观的窗体(类似QQ、杀毒软件等成品软件界面)
4、不规则窗体
不规则窗体:
例:把加速球放到记事本框中并截图,此时图片背景是白色,利用窗口样式中的TransparencyKey属性(绘制到窗体上时显示为透明的颜色)设置为白色,所有白色背景都会变为透明,然后去掉边框,即可制作出不规则窗体
控件:
1、Label 专门用来在窗体上写文本使用 文本写在Text属性里 AutoSize(根据文本内容自动调整大小)
2、ComboBox 下拉框 可在此控件右上方小箭头点击选择编辑项 在里面添加内容
3、RadioButton 单选框 只能选择其中一个如果想将某个单选框内容设置为默认选择 将其Checked属性设置为True即可
4、CheckBox 复选框 可以多选
5、TextBox 文本框 默认一行 点击右上角三角 勾选上MultiLine 即可自己控制文本框大小
6、Button 按钮 name设置按钮名 Text设置按钮显示的文字 双击进入设置按钮的事件(默认为点击事件)
练习:制作肯德基点餐系统
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsForm
{
public partial class 肯德基点餐 : Form
{
public 肯德基点餐()
{
InitializeComponent();
comboBox1.SelectedIndex=0;//设置下拉列表框默认是第一条数据
}
private void label3_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
//主食
string zs = comboBox1.SelectedItem.ToString();
//配餐
string pc = null;
if (radioButton1.Checked)//判断是否选中
pc = radioButton1.Text;
else if (radioButton2.Checked)
{
pc = radioButton2.Text;
}
else
{
pc = radioButton3.Text;
}
//饮品
string yp = null;
if(checkBox1.Checked)
{
yp += checkBox1.Text;
}
if (checkBox2.Checked)
{
if(yp!="")
{
yp += ",";
}
yp += checkBox2.Text;
}
if (checkBox3.Checked)
{
if (yp != "")
{
yp += ",";
}
yp += checkBox3.Text;
}
if (checkBox4.Checked)
{
if (yp != "")
{
yp += ",";
}
yp += checkBox4.Text;
}
//地址
string dz=textBox1.Text;
//电话
string dh = textBox2.Text;
MessageBox.Show(" !下单成功 \r" +"您选择的主食是:"+zs+" \r您选择的配餐是:"+pc+" \r您选择的饮品是:"+yp+" \r您的配送地址是:"+dz+" \r您的联系电话是:"+dh);
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void 肯德基点餐_Load(object sender, EventArgs e)
{
}
}
}