第二章 构建布局良好的windows程序
工具箱→菜单和工具栏
菜单栏
MenuStrip的类型
MenuItem:菜单项
TextBox:文本框
ComboBoX:组合框
Separato:分割线
前面都有ToolStrip做前缀
Applaction.Exit()
退出整个应用程序,关闭所有窗体
this.Close()
关闭当前窗体
都会触发FormClosed事件和FormClosing事件
带图片的工具栏
属性名称 说明
displaystyle 是否显示图像和文本
image 将显示的图像
imageScaling 是否调整图像大小
TextimageRelation 图像与文本的相对位置
ToolStrip工具栏类型
Button:按钮
label:标签
SplitButton:分割按钮
DropDownButton:下拉按钮
Separator: 分割线
ComnoBox:组合框
TextBox:文本框
progressBar:进度条
前面都有ToolStrip作前缀
单选按钮 RadioButton
Checked:是否选中
日期控件 DateTimePicker
value:控件的当前日期
MaxDate:最大日期
MinDate:最小日期
分组框:Gropebox
text:关联的文本
面板:panel
作为容器使用
工具:Visual Studio的"格式"菜单
按住"Ctrl键",选择多个控件
以第一个控件为基准
可以使用anchor(锚定控件)
固定控件与窗体边缘距离
按住Ctrl键选择多个控件,再设置anchor属性,可以一次选中多个控件
使用dock(停靠控件)
dock属性
将控件停靠在窗体的边缘或填充窗体
当某个控件需要充满整个窗体时,设置控件的dock属性是最快捷的方式
SdI:比如记事本 Word等
mdi:多窗口应用程序
比如Excel 浏览器等
至少由连个窗口组成
包括顶级框架窗口(也叫mdi容器)其他文档窗口(也叫子窗口)
创建mdi的步骤
1父窗体的ISMDIIContainer属性设为true
子窗体的Mdiparent属性设为父窗体
注意:
设置了MDI子窗体不能用SHowDialog()
建立子窗体窗口列表的步骤
设置父窗体菜单控件的mdiwindowlistItem属性选定为窗口菜单项
第二章 构建布局良好的windows程序的更多相关文章
- 第2章 如何构建布局良好的Windows程序
01.菜单栏(MenuStrip) 设置快捷键方式: 方式一:1.设置菜单项的Text属性为(打开(&F)), 首先必须按住alt+主菜单快捷键进入到对应的主菜单, 然后直接按F就可以打开子窗 ...
- Windows程序控件升级==>>构建布局良好的Windows程序
01.菜单栏(MenuStrip) 01.看看这就是menuStrip的魅力: 02.除了一些常用的属性(name.text..)外还有: 03.有人会问:上图的快捷键: 方法: 方式一:1.设置菜单 ...
- 构建布局良好的Windows程序
工具箱→菜单和工具栏菜单栏MenuStrip的类型MenuItem:菜单项TextBox:文本框ComboBoX:组合框Separato:分割线前面都有ToolStrip做前缀 Applaction. ...
- “全栈2019”Java第二章:安装JDK11(Windows)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 "全栈2019"Java第二章:安装JDK11(Windows) 下一 ...
- 第十三章:MFC库与Windows程序开发概述
主要内容: 1.Windows程序的基本结构 2.MFC库简介 3.使用Visual C++开发Windows程序 具体内容略
- Java 并发编程实践基础 读书笔记: 第二章 构建线程安全应用程序
1,什么是线程安全性? 简单概括就是一个类在多线程情况下能安全调用就是线程安全 2,Servlet 的线程安全性 默认是非线程安全的,写servlet代码的时候需要注意线程安全,注意同步 3,vo ...
- Storm入门教程 第二章 构建Topology[转]
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: Topologies Streams Spouts Bolts Stream groupings Reliability ...
- 第二章 "我要点爆"微信小程序点爆页面的实现与云函数和云存储的应用
点爆页面的实现与云函数和云存储的应用以及录音功能讲解 点爆页面制作 点爆页面主要提供文字记录和语音记录两种爆文记录方式,在本页面内输入文字或录入语音后选择心情点击点爆按钮,跳转到点爆方式选择界面. 首 ...
- 《CoffeeScript应用开发》学习:第二章 编写第一个CoffeeScript应用程序
CoffeeScript基础 语句 CoffeeScript没有分号,语句由新的一行结束,但是可以使用\将语句延续至下一行. 有时可以跨行实现函数调用: "foo". .conca ...
随机推荐
- laravel5.4中验证与错误提示设置
1.对于交互提交数据,验证如: #验证 $this->validate(\request(),[ 'title' => 'required|string|min:3|max:20', 'c ...
- Angular4学习笔记(三)- 路由
路由简介 路由是 Angular 应用程序的核心,它加载与所请求路由相关联的组件,以及获取特定路由的相关数据.这允许我们通过控制不同的路由,获取不同的数据,从而渲染不同的页面. 相关的类 Routes ...
- [Artoolkit] Framework Analysis of nftSimple
What is nftSimple? Loads NFT dataset names from a configuration file. The example uses the “Pinball. ...
- Kafka Java API获取非compacted topic总消息数
目前Kafka并没有提供直接的工具来帮助我们获取某个topic的当前总消息数,需要我们自行写程序来实现.下列代码可以实现这一功能,特此记录一下: /** * 获取某个topic的当前消息数 * Jav ...
- 【JS加密库】SJCL :斯坦福大学JS加密库
斯坦福大学Javascript加密库简称SJCL,是一个由斯坦福大学计算机安全实验室创立的项目,旨在创建一个安全.快速.短小精悍.易使用.跨浏览器的JavaScript加密库. 斯坦福大学下载地址:h ...
- Android摸索-二、解决Android SDK Manager下载太慢问题
下载Android SDK Manger 那个速度………… 有了这个再也不用担心了 1.打开android sdk manager 2.打开tool->options 按图片中输入参数:mi ...
- 6.29一个_rcv 面试题
#coding:utf-8 #2018-6-29 16:30:34 #类调用属性,属性没有,用__getatrr__魔法方法! #目的打印出 think different itcast class ...
- 拓展 NLog 优雅的输送日志到 Logstash
在上上篇博客通过对aspnetcore启动前配置做了一些更改,以及对nlog进行了自定义字段,可以把请求记录输送到mysql,正式情况可能不会这么部署.因为近期也在学习elk,所以就打算做一个实例,结 ...
- python使用selenium安装chromedriver的问题
环境 win64位,python3.6, 问题与解决 说来也巧,今天无意中解决了两个多月前的问题,即用selenium调用chrome浏览器报错的问题:起因是在知乎中看到了一篇12306抢票的文章,用 ...
- 将数据 导出excel表格式
我的考试完提交生成的数据 这是我的考试题类型 //导出调查评议的数据 public function diaocha(){ $xlsName = '表格形式 调查评议 信息'; $xlsTitle = ...