IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> winform多个子窗体参数保存以及重新加载的方法(C#) -> 正文阅读

[游戏开发]winform多个子窗体参数保存以及重新加载的方法(C#)

背景:
在winform设计中,会遇到一个主窗体对多个不同的子窗体的加载管理,其中一个要求是在重新打开软件加载原有的子窗体时,各个子窗体的用户参数能否重新加载。

在网上没有找到成套的公开方案,于是自己做了一整套的方法。

一、准备工作
1.引用SettingsProviderNet或者直接安装其NUGET包
2.创建窗体参数类FormPara,各个参数可以用不同的属性来表示,方便后续拓展。如果是多个类似的窗体,为方便拓展,也可以定义个接口,然后分别实现各个窗体子类

二、获取各个子窗体参数
1.在各个子窗体类中,定义一个窗体参数获取方法GetPara(),将各个窗体参数传入一中定义的窗体参数对象formPara
2.创建一个所有子窗体参数类FormParas,其中定义一个属性为List,即多个窗体参数集合
3.在主窗体中遍历当前所有的子窗体的窗体参数获取方法GetPara(),获取到多个窗体的参数对象集合List

三、存储多窗体参数
1.使用SettingsProviderNet类的SaveSettings(FormParas)方法,存储所有子窗体参数类,具体存储方式可以使用SettingsProviderNet包拓展自行编写,我的是序列化为JSON写入本地文件中

四、打开软件时,重新加载多窗体参数
1.使用SettingsProviderNet类的settingsProvider.GetSettings()方法,获取FormParas属性中的各个窗体参数
2.在各个子窗体类中编写加载函数,在主窗体中逐个传入1中的参数值
3.将2中的加载函数放入各个子窗体的窗体加载事件中
4.根据需要在代码中加载窗体

注意:子窗体在show()之前更改传入窗体控件参数不生效的(句柄还没生成),需要确保加载函数放入各个子窗体的加载事件中或者直接在show()方法中加载

这里仅总结的多窗体参数存储和加载的方法,未放上具体代码,有兴趣的同行请点赞关注我,我们可以一起讨论winform,C#,.NET相关经验

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:53:59  更:2022-03-12 17:54:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/31 2:19:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码