winform基础窗体设置及基础控件

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;}
View Code

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)
{

}
}
}

 

转载于:https://www.cnblogs.com/1030351096zzz/p/6132057.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【FastJSON】解决FastJson中“$ref 循环引用”的问题

0、开发环境 SSH&#xff0c;EasyUI&#xff0c;MySQL 1、需求要求&#xff1a; (1)首先获取所有的贷款订单数据&#xff0c;即List <LoanOrder>。 (2)然后从单个贷款订单实体LoanOrder去访问贷款人实体Loaner的信息。 2、实体之间的关系描述 (1)LoanOrder实体与Loaner…

JavaFX真实世界应用程序:EIZO CuratOR Caliop

JavaFX Real-World应用程序第四号称为Caliop 。 它是EIZO为医院手术室开发的CuratOR解决方案的前端。 前端在壁挂式控制台上运行&#xff0c;并允许操作团队查找有关患者的信息&#xff0c;控制各种视频源到不同监视器的路由&#xff0c;录制视频&#xff0c;拍摄照片/剧照。 …

netbeans代码提示_NetBeans可用性提示

netbeans代码提示的Java IDE都来了&#xff0c;因为在很长的路要走天的JBuilder的 &#xff08;尽管JBuilder中似乎是一个值得欢迎提前在时间&#xff09;。 当今的Java IDE&#xff08;例如NetBeans &#xff0c; Eclipse &#xff0c; IntelliJ IDEA和JDeveloper &#xff09…

推荐文章:机器学习:“一文读懂机器学习,大数据/自然语言处理/算法全有了...

PS:文章主要转载自CSDN大神"黑夜路人"的文章: http://blog.csdn.NET/heiyeshuwu/article/details/43483655 本文主要对机器学习进行科普,包括机器学习的定义、范围、方法,包括机器学习的研究领域&#xff1a;模式识别、计算机视觉、语音识别、自然语言…

java比较炫的登录界面_html+css实现漂亮的透明登录页面,HTML实现炫酷登录页面...

承蒙各位小伙伴的支持&#xff0c;鄙人有幸入围了《CSDN 2020博客之星》的前200名&#xff0c;现在进入投票环节&#xff0c;如果我平时写的文章和分享对你有用的话&#xff0c;请每天点击一下这个链接&#xff0c;投上你们宝贵的一票吧&#xff01;谢谢&#xff01;❤️ 每一票…

OpenMap教程第2部分–使用MapHandler构建基本地图应用程序–第1部分

1.简介 在第一个教程中&#xff0c;我们创建了一个基本的OpenMap GIS应用程序&#xff0c;该应用程序在JFrame中显示一个从文件系统加载的具有一个形状图层的地图。 该教程基于com.bbn.openmap.app.example.SimpleMap 。 在该教程中&#xff0c;我们使用了以下OpenMap类&#x…

java rx.observable_Rxjava2 Observable的条件操作符详解及实例

简要&#xff1a;需求了解&#xff1a;在使用 Rxjava 开发中&#xff0c;经常有一些各种条件的操作 &#xff0c;如比较两个 Observable 谁先发射了数据、跳过指定条件的 Observable 等一系列的条件操作需求&#xff0c;那么很幸运&#xff0c; Rxjava 中已经有了很多条件操作符…

Linux poll 和 select 机制

poll select 介绍 使用非阻塞 I/O 的应用程序常常使用 poll, select, 和 epoll 系统调用. poll, select 和 epoll 本质上有相同的功能: 每个允许一个进程来决定它是否可读或者写一个 或多个文件而不阻塞. 这些调用也可阻塞进程直到任何一个给定集合的文件描述符可用来 读或写.…

hprof 不大 泄露_HPROF –内存泄漏分析教程

hprof 不大 泄露本文将为您提供有关如何通过生成和分析Sun HotSpot JVM HPROF堆转储文件来分析JVM内存泄漏问题的教程。 一个现实的案例研究将用于此目的&#xff1a;Weblogic 9.2内存泄漏影响Weblogic Admin服务器。 环境规格 Java EE服务器&#xff1a;Oracle Weblogic Ser…

投资银行对Java进行的二十大核心面试问答

这是在金融领域&#xff08;主要是大型投资银行&#xff09;共享Java核心访谈问题和答案的新系列。 在JP Morgan&#xff0c;Morgan Stanley&#xff0c;Barclays或Goldman Sachs上会问许多这些Java面试问题。 银行主要从多线程 &#xff0c; 集合 &#xff0c;序列化&#xff…

java 支付重复问题_Airbnb支付系统如何在分布式环境下避免重复打款

原文链接&#xff1a;https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bbAirbnb一直在将其基础架构迁移到面向服务的体系结构(SOA)。 SOA具有许多优势&#xff0c;例如使开发人员能够专业化并具有更快迭代的能力。…

myeclipse配置java8_MyEclipse 2017配置Tomcat8

MyEclipse 2017的配置其实跟MyEclipse 2015的比较一致&#xff0c;再往之前的就有出入了。不得不吐槽其卡&#xff0c;跟Eclipse不在一个量级上呀。。。一、配置转自&#xff1a;http://www.xuexila.com/diannao/diy/2788109.html工具/原料myeclipse 2017tomcat8 服务器方法/步…

MySQL在Django框架下的基本操作(MySQL在Linux下配置)

注&#xff1a;本文已迁移至CSDN&#xff0c;后续的更新也会在CSDN。 http://blog.csdn.net/houchaoqun_xmu/article/details/53813633 http://blog.csdn.net/houchaoqun_xmu 【原】本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作&#xff0c;核心内容如下&#x…

Clean Sheet – Windows 10的人体工程学Eclipse主题

Clean Sheet是适用于Windows 10的符合人体工程学的Eclipse主题。它基于干净&#xff0c;低眩光的外观和感觉&#xff0c;旨在减轻视觉疲劳和眼睛疲劳。 它融合了均衡的颜色选择&#xff0c;可以突出谐波语法并注重可读性。 除自定义滚动条外&#xff0c;它还努力满足现代美学要…

CentOS上安装MyCat-MySQL

1、安装JDK&#xff0c;要求JDK7以上。 2、下载MyCat&#xff0c;地址。 3、解压Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz&#xff0c;到usr/local/Mycat目录下。 4、添加用户Mycat。 [rootlocalhost Desktop]# useradd Mycat [rootlocalhost Desktop]# passwd M…

Java中的Redis的思维导图_Redis思维导图

常见相关问题Redis 有哪些功能&#xff1f;数据缓存功能分布式锁的功能支持数据持久化支持事务支持消息队列Redis 为什么是单线程的&#xff1f;因为 cpu 不是 Redis 的瓶颈&#xff0c;Redis 的瓶颈最有可能是机器内存或者网络带宽。既然单线程容易实现&#xff0c;而且 cpu 又…

在Java EE应用程序中实现自动重试

最初&#xff0c;我想将此博客称为“ 具有拦截器驱动的重试策略的灵活超时 ”&#xff0c;但后来我认为它太“繁重”。 该声明以及修改后的标题应该&#xff08;希望&#xff09;使您了解此帖子可能谈论的内容;-) 触发 这篇文章主要由我在较早的一篇文章中收到的评论/问题之一…

2016-12-17 新浪博客服务器挂掉了,所有博客页面都无法打开

今天&#xff08;2016-12-17 10:20&#xff09;早晨从百度上检索到一篇新浪博客文章&#xff0c;点进去之后显示无法访问此网址&#xff0c;如下截图 去新浪博客主页看了看&#xff0c;主页是可以打开的 但是点进去任何一篇文章&#xff0c;都无法打开此页面 应该是新浪博客的服…

php版本7历史,php的版本发展历史(1995-2020)

PHP一直作为Web开发中的统治力量而存在&#xff0c;在WEB服务端开发领域&#xff0c;全球份额始终保持在78%以上。PHP快速&#xff0c;非常强大&#xff0c;生态好&#xff0c;而且免费&#xff0c;是一个为WEB而生的编程语言&#xff0c;自从诞生起PHP就被大多数开发者称为世界…

netbeans7.4_NetBeans 7.2 beta:更快,更有用

netbeans7.4NetBeans 7.2的beta版本引起了极大的兴奋。 在本文中&#xff0c;我将简要介绍一下此版本令人兴奋的原因&#xff08;包括更好的性能&#xff0c;提供更多的提示以及集成FindBugs&#xff09;。 NetBeans 7.2 beta在典型的下载捆绑软件中可用&#xff0c;从较小的Ja…