1_MDI窗口

(1)MDI是指将多控件窗体在同一窗体中打开,可以设置重叠打开,平捕打开等,MDI窗体(Multiple-Document Interface,多文档界面)用于同时显示多个文档。在项目中使用MDI窗体时,通常将一个MDI窗口窗体作为父窗体,父窗体可以将多个子窗体包容在它的工作区之中。

(2)

属性
IsMdiContainer设置窗体是否为多文档窗体
LayoutMdi()设置子窗体的排列方法Cascade:层叠排 TileHorizontal:水平平铺 TileVertical:垂直平铺
MdiChildren所有的子窗体 是一个Form数组
form.GetType()获取form的类型

(3)

private void 打开窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{Child1 child1=new Child1();child1.MdiParent= this;//MDI父窗体child1.Show();Child2 child2 = new Child2();child2.MdiParent = this;child2.Show();
//设置子窗体的排列方法/* public enum MdiLayout{Cascade, //层叠排列TileHorizontal, //水平平铺TileVertical, //垂直平铺ArrangeIcons}*/LayoutMdi(MdiLayout.TileVertical);
}private void OpenChileForm(Form childForm)
{//this.MdiChildren 所有的子窗体 是一个Form数组foreach (Form form in MdiChildren){//form.GetType()获取form的类型,是否与child2相等,相等说明已经存在child2,不需要再次打开if (form.GetType() == childForm.GetType()){//给子窗体焦点form.Activate();return;}}//相等说明不存在child2,需要再打开childForm.MdiParent = this;childForm.Show();}

2_页面布局

(1)窗口样式的属性:可以用来更改图标、最大化窗口透明度

属性说明
Icon更改图标样式(左上角图标)
MaximizeBox:true;显示右上角最大化按钮
MinimizeBox:true;显示右上角最小化按钮
ShowInco:true;显示左上角小图标
ShowInTaskbar:ture;窗体显示在任务栏
TopMost:ture;窗口置顶显示
Opacity:100%整个窗口透明度

(2)窗体布局的属性:用来改变窗体的大小以及启动程序后窗体的显示位置

属性说明
AutoScroll:true/false;如果控件超出窗口是 否自动显示滚动条
AutoSize:true/false;窗口的范围是否会超出控件的大小
MaximumSize:0,0;窗口可以拖曳的最大的大小
MinimumSize:0,0;窗口可以拖曳的最小的大小
Size:300,300;窗口打开时默认的大小
StartPosition:centerScreen;窗口打开时默认桌面位置,居中
WindowState:Maximized;默认打开窗口最大化。

3_布局控件

(1)流式布局(FlowLayoutPanel):这种布局管理器允许控件按照指定的方向(水平或垂直)自动排列。当控件数量增加或减少时,它们会自动填充可用的空间,从而形成流式布局。

https://www.yisu.com/ask/37648663.html

设置 流动方向   FlowDirection=   LeftToRight(默认的) 从左到右  |  TopDown  从上到下  RightToLeft 从右到左  ButtonUp  从下到上
​
换行模式 WrapContents =true 自动换行   |false 不换行

(2)网格布局(TableLayoutPanel)

TableLayoutPanel 控件可以创建一个网格,其中的单元格可以动态地调整大小以适应窗体或容器的大小变化。你可以在网格中放置控件,并指定它们所在的行和列。

【愚公系列】2023年11月 Winform控件专题 TableLayoutPanel控件详解-腾讯云开发者社区-腾讯云

(3)面板(Panel) SplitContainer

虽然面板本身不是一个布局管理器,但它可以作为容器使用其他布局管理器。例如,你可以在面板中使用流式布局或网格布局来组织内部的控件。

(4)分组 (GroupBox)

GroupBox 控件可以用来将一组相关的控件组合在一起,并提供一个标题。它也可以作为布局容器,通常会结合其他布局管理器使用。 自适应布局:

为了使控件能够根据窗体大小自动调整,你可以使用 Dock 属性来让控件填满整个容器(如窗体或面板),或者只占据容器的一侧。

4_分页 (TabControl)

(1)自定义布局(了解)

开发者也可以通过重写控件的 OnLayout 方法来实现自定义的布局逻辑,但这需要更多的编程技巧和对 WinForms 绘制周期的理解

(2)布局属性

属性说明
Anchor锚定属性,设置一个控件边缘锚定状态,默认为左上锚定
Dock依靠属性,设置控件本身靠父容器控件的那个边缘依靠
Padding控件本身内的控件距离边缘的距离
Migrain距离周边控件的距离
AutoSize是否是自动适应大小
AutoSizeMode当AutoSize=true时有效,是控件的自动适应大小的模式,有只增的,有又增又减的

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

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

相关文章

实用R语言机器学习指南:从数据预处理到模型实战(附配套学习资源)

一、为什么需要掌握机器学习建模?在科研与项目实践中,机器学习已成为数据挖掘的核心工具。本文手把手带你在R语言中实现7大常用模型:逻辑回归/正则化回归决策树/随机森林SVM支持向量机XGBoost梯度提升神经网络全程包含数据标准化→模型训练→…

go.uber.org/zap 日志库高性能写入

使用 go.uber.org/zap 实现日志分割功能 实现按照单个文件最大MB自动分割,最多保留多少天的文件,是否启用压缩,按天自动分割日志 核心依赖 go.uber.org/zap:核心日志库 lumberjack.v2:日志轮转工具(实现按大小/时间分割) 时间处理依赖标准库 time 实现步骤 1. 初始化…

电脑端完全免费的动态壁纸和屏保软件(真正免费、无广告、无会员)

✅ 1. Lively Wallpaper(强烈推荐) 特点:完全免费、开源、无广告,支持本地视频/GIF/网页作为动态壁纸内置资源:12个高质量动态壁纸(可自定义)屏保功能:支持将动态壁纸一键设为屏保系…

C#_组合优于继承的实际应用

2.2 Composition over Inheritance:组合优于继承的实际应用 继承(Inheritance)是面向对象编程中最容易被过度使用和误用的特性之一。传统的教学往往让人们优先选择继承来实现代码复用和建立“是一个(is-a)”的关系。然…

Kafka消息丢失的场景有哪些

生产者在生产过程中的消息丢失 broker在故障后的消息丢失 消费者在消费过程中的消息丢失ACK机制 ack有3个可选值,分别是1,0,-1。 ack0:生产者在生产过程中的消息丢失 简单来说就是,producer发送一次就不再发送了&#…

盼之代售 231滑块 csessionid 分析

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 部分python代码 url "…

STL关联式容器解析:map与set详解

目录 1. 关联式容器 2. 键值对 3. 树形结构的关联式容器 3.1 set 3.1.2 set的使用 3.2 map 3.2.1 map的介绍 3.2.2 map的使用 3.3 multiset 3.3.1 multiset的介绍 3.3.2 multiset的使用 3.4 multimap 3.4.1 multimap的介绍 3.4.2 multimap的使用 4.红黑树模拟实现…

贪吃蛇--C++实战项目(零基础)

视频地址:C语言必学项目:贪吃蛇! 贪吃蛇游戏框架 ├── 基础框架 │ ├── 头文件引入 │ ├── 常量和宏定义 │ └── 窗口初始化 │ ├── 数据结构系统 │ ├── Pos结构体(位置和颜色) │ ├── Snake结构体(蛇的属性) │ ├──…

unity资源领取反作弊工具加密器

https://assetstore.unity.com/packages/tools/utilities/anti-cheat-pro-2025-3006260元购码GUARDINGPEARSOFTWARE

FPGA设计中的信号完整性量化与优化:探索高速数字系统的关键路径

在高速FPGA设计中,信号完整性(Signal Integrity, SI)已成为确保系统稳定、可靠运行的核心要素之一。随着数据传输速率的不断提升和电路规模的日益复杂,信号在传输过程中受到的干扰和畸变问题日益凸显。因此,如何有效量…

`strncasecmp` 字符串比较函数

1) 函数的概念与用途 strncasecmp 是 C 语言中一个非常实用的字符串处理函数,它执行不区分大小写的字符串比较,但只比较前 n 个字符。这个函数的名字来源于"string n case-compare"(字符串前n个字符不区分大小写比较)。…

软件安装教程(一):Visual Studio Code安装与配置(Windows)

文章目录前言一、Visual Studio Code下载二、安装步骤(Windows)1. GUI安装2. 命令行安装三、首次启动后建议的快速配置(几分钟完成)四、常见问题 & 小贴士总结前言 Visual Studio Code(VS Code)是一款…

JavaSSM框架从入门到精通!第三天(MyBatis(二))!

四、Mapper 的动态代理1. 引入 在上面的 CURD 例子中,我们发现:Dao 层的实现类的每一个方法仅仅是通过 SqlSession 对象的相关 API 定位到映射文件 mapper 中的 SQL 语句,真正对数据库操作的工作实际上是有 Mybatis 框架通过 mapper 中的 SQL…

大模型应用发展与Agent前沿技术趋势(下)

Agent技术的行业应用与实践案例 金融领域的Agent应用 金融行业是大模型Agent技术应用最为广泛的领域之一,涵盖了风险评估、投资决策、客户服务等多个方面。在金融风控领域,Agent系统通过结合大模型的语义理解能力和强化学习的决策优化能力,能…

94. 城市间货物运输 I, Bellman_ford 算法, Bellman_ford 队列优化算法

94. 城市间货物运输 IBellman_ford 算法Bellman_ford 算法 与 dijkstra算法 相比通用性更强。dijkstra算法解决不了负权边的问题,因为Dijkstra基于贪心策略,一旦一个节点被从队列中取出(标记为已解决),它就假定已经找到…

如何使用Prometheus + Grafana + Loki构建一个现代化的云原生监控系统

如何使用 Prometheus + Grafana + Loki 构建一个现代化的云原生监控系统。这套组合被誉为监控领域的“瑞士军刀”,功能强大且生态极佳。 一、核心组件概念介绍 在搭建之前,深刻理解每个组件的角色和职责至关重要。 1. Prometheus(指标监控与时序数据库) 角色:系统的“核…

JavaScript Object 操作方法及 API

一、对象创建方式1.字面量创建(最常用)const obj { name: "张三", age: 25 };2.构造函数创建const obj new Object(); obj.name "李四";3.Object.create()(指定原型)const proto { greet: () > "…

pta乙级题目day1

第1天:输入输出与运算(6题)1001 害死人不偿命的(3n1)猜想(基础运算)★1006 换个格式输出整数(格式化输出)★1016 部分AB(数字提取)★★1046 划拳(多输入处理&…

在VSCode中配置.NET项目的tasks.json以实现清理、构建、热重载和发布等操作

在 VS Code 中配置 .NET 开发任务的完整指南 引言 重要提醒:对于 .NET 开发,强烈推荐使用 Visual Studio,它提供了最完整和稳定的开发体验。如果你像我一样"蛋疼"想要尝试 VS Code,请确保安装了 C# 开发扩展包&#x…

EmEditor文本编辑器v25.3.0专业版,专业文本编辑,高亮显示,无限撤消

[软件名称]: EmEditor文本编辑器v25.3.0专业版 [软件大小]: 37.7 MB [软件大小]: 夸克网盘 | 百度网盘 软件介绍 EmEditor 是一款功能强大且非常实用的文本编辑器。它启动速度快,完全可以替代 Windows 自带的记事本,轻松应对日常文本编辑任务。它对 …