WinForm - C/S B/S

客户端应用程序 - 是需要安装在用户电脑上才可以使用的程序
特点:
不需要联网也可以打开使用部分功能
但是现在的情况是许多功能依然需要互联网的支持

代码部分在用户电脑上执行

1、记事本 特点:可拖拽,可最大最小,可变换大小
2、计算器 特点:可拖拽,不可更改大小,可最大最小
3、杀毒软件、QQ这种漂亮的窗体 特点:无边框,可拖拽,不可设置大小,QQ:最顶层。
4、不规则窗体 特点:形状不规则,背景透明,去除边框,不可拖拽。

恶搞窗体:
1、启动最大化
2、隐藏标题栏,挡住任务栏
3、置顶
4、不在任务栏显示
5、隐藏任务管理器中的图标
6、屏蔽Alt+F4
7、透明度1% / 蓝屏背景图

布局:

AutoScroll:当窗体中内容超出可见区域时,自动显示滚动条

Location:窗体距离桌面左上角的距离坐标,需要配合StartPosition中的Manual使用

MaximumSize:窗体可以调整到的最大大小

MinimumSize:窗体可以调整到的最小大小

Size:窗体的大小

StartPosition:确定窗体第一次出现时(打开时)的位置 Manual:配合Location设置距离桌面左上角的距离 CenterScreen:根据桌面居中

WindowState:窗体打开时的状态(普通 最小化 最大化)

窗口样式:

Icon:窗体的图标(在窗体左上角以及下方任务栏中显示的图标)

MaximizeBox:确定窗体标题栏右上角是否有最大化框(设置是否可用)

MinimizeBox:确定窗体标题栏的右上角是否有最小化框(单独设置则为灰色不可用 如果最小化最大化都设置为false 则二者都不显示)

Opacity:窗体透明度

ShowInTaskbar:确定窗体是否出现在Windows任务栏中(桌面下方任务栏)

TopMost:设置是否在顶层(分顶层和底层 顶层窗体可以遮挡住所有底部窗体 同层窗体可互相遮挡)

设计:

Name:窗体的名字(在程序中使用的 并非窗口显示的标题)

外观:

BackColor:背景颜色

Backgroundimage:背景图片(最好导入到项目中使用)

BackgroundimageLayout:设置背景图片布局

Cursor:设置鼠标悬浮时的样式

Font:字体设置

ForeColor:前景颜色(文本)

FromBorderStyle:窗体边框和标题栏的外观样式(FixedSingle 不可调整大小 Sizeble 默认 None 无边框和标题栏)

Text:窗体的标题栏文字

不规则窗体:

例:把加速球放到记事本框中并截图,此时图片背景是白色,利用窗口样式中的TransparencyKey属性(绘制到窗体上时显示为透明的颜色)设置为白色,所有白色背景都会变为透明,然后去掉边框,即可制作出不规则窗体

六个最常用的控件:

1、Label 专门用来在窗体上写文本使用 文本写在Text属性里 AutoSize(根据文本内容自动调整大小)

2、ComboBox 下拉框 可在此控件右上方小箭头点击选择编辑项 在里面添加内容

3、RadioButton 单选框 只能选择其中一个 果想将某个单选框内容设置为默认选择 将其Checked属性设置为True即可

4、CheckBox 复选框 可以多选

5、TextBox 文本框 默认一行 点击右上角三角 勾选上MultiLine 即可自己控制文本框大小

6、Button 按钮  name设置按钮名 Text设置按钮显示的文字 双击进入设置按钮的事件(默认为点击事件)

肯德基点餐小练习

program.cs里

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace xuancanxitong
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

Form.cs

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 xuancanxitong
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 0;
}

private void Form1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
//主食
string zhu = comboBox1.SelectedItem.ToString();
//配餐
string pei = "";

if (radioButton1.Checked)//如果选中的薯条
pei = radioButton1.Text;
else//选中的是玉米沙拉
pei = radioButton2.Text;
//饮品
string he = "";

if (checkBox2.Checked)

he += checkBox2.Text;

if (checkBox1.Checked)
if (he != "")

he+= "," + checkBox1.Text;
else
he += checkBox1.Text;
if (checkBox3.Checked)

if (he != "")

he+= "," + checkBox3.Text;
else
he += checkBox3.Text;
string dz = textBox1.Text;

string dh = textBox2.Text;

MessageBox.Show("您选择的主食是:" + zhu + " \r您选择的配餐是:" + pei + " \r您选择的饮品是:" +he + " \r配送地址:" + dz + " \r联系电话:" + dh);

}

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{

}

private void checkBox3_CheckedChanged(object sender, EventArgs e)
{

}
}
}

Form.cs(设计)

winform基础,主要控件简单介绍,以及小练习的更多相关文章

  1. iOS开发基础-UITableView控件简单介绍

     UITableView 继承自 UIScrollView ,用于实现表格数据展示,支持垂直滚动.  UITableView 需要一个数据源来显示数据,并向数据源查询一共有多少行数据以及每一行显示什么 ...

  2. iOS开发UI篇—UITableview控件简单介绍

    iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...

  3. iOS开发UI篇—Date Picker和UITool Bar控件简单介绍

    iOS开发UI篇—Date Picker和UITool Bar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何 ...

  4. ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍

    在ASP.NET AJAX Beta2中,UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中.以下两篇关于UpdateProgress的文章基本翻译自ASP.N ...

  5. UISrcoll控件简单介绍

    UISrcoll控件,简单的说就是让界面滑动 当使用uiimageview的时候,给控件设置图片素材时,图片的大小会根据控件的大小,自动做缩放 当使用uibutton的时候,如果是设置背景图,name ...

  6. WPF自学入门(六)WPF带标题的内容控件简单介绍

    在WPF自学入门(二)WPF-XAML布局控件的文章中分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器的使用,可以让我们大致了解容器可以使用在什 ...

  7. WPF之核心面板(容器)控件简单介绍

    一.Canvas 1.官方表述:定义一个区域,在该区域中可以使用相对于该区域的坐标显式定位子元素. 2.对于canvas 的元素的位置,是靠控件的大小及Canvas.Top.Canvas.Left.C ...

  8. UITableview控件简单介绍

    注意点:数据源方法只能在控制器里设置 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UITableView ...

  9. Webform之FileUpload(上传按钮控件)简单介绍及下载、上传文件时图片预览

    1.FileUpload上传控件:(原文:http://www.cnblogs.com/hide0511/archive/2006/09/24/513201.html) FileUpload 控件显示 ...

随机推荐

  1. 了解C++默认编写并调用哪些函数

    概念:编译器可以暗自为class创建default构造函数.copy构造函数.copy assignmengt构造函数,以及析构函数. 比如你写下:struct Node { }; 这就好像你写下这样 ...

  2. zju(1)嵌入式开发环境构建

    1. 实验目的 搭建嵌入式开发环境,安装ubntu,编译交叉工具链,安装配置tftp,nfs.用makefile 编译几个文件,在实验台上运行. 2. 实验内容 1) 安装ubuntu12.04 2) ...

  3. 使用 mock.js 让前端开发与后端独立

    直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  4. hdu1201-18岁生日

    Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从 ...

  5. python的内存管理机制

    先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 一.垃圾回收: python不像C++,Java等语言一样,他们可以不用事先声明变量 ...

  6. DBXJSON和ADO的效率真的好低....

    项目需要写了一个JSON和DataSet互转的单元.....支持了Delphi自带的几种DataSet, 结果发现DBXJSON和ADO的效率真的是好低啊........-_-.... 开发环境是XE ...

  7. zepto源码--核心方法3(属性相关)--学习笔记

    继续$.fn方法 今天主要介绍几个跟属性操作相关的方法attr, removeAttr, prop, data attr 读取或设置dom的属性.如果没有给定value参数,则读取对象集合中第一个元素 ...

  8. Servlet 生命周期、工作原理

    按照单例的编码规则,Servlet本身只是一个Java,结构并不是单例结构. 只是Web容器在维护这些Servlet的时候只给创建一个实例存在JVM中,用户请求服务时,服务器只调用它已经实例化好的Se ...

  9. 编写Java程序最容易犯的21种错误

    1.duplicated code 代码重复几乎是最常见的异味了.他也是refactoring的主要目标之一.代码重复往往来自于copy-and-paste的编程风格.与他相对应oaoo是一个好系统的 ...

  10. awk实现按照某个字段排序

    awk 'BEGIN{ FS="|"} { ary[$14,NR]=$0} END{ nrw=asorti(ary, newary) for(i=1;i<=nrw;i++) ...