当前位置: 首页 > news >正文

WinForm模态与非模态窗体

1、模态窗体

1)定义:
模态窗体是指当窗体显示时,用户必须先关闭该窗体,才能继续与应用程序的其他部分进行交互。

2)特点:
窗体以模态方式显示时,会阻塞主窗体的操作。用户必须处理完模态窗体上的操作(如点击“确定”或“取消”)后,才能返回主窗体。适合用于需要用户立即处理的任务,例如对话框、消息框、设置窗口等。

3)显示方法:
使用 ShowDialog() 方法显示模态窗体。

Form modalForm = new Form();
DialogResult result = modalForm.ShowDialog();
if (result == DialogResult.OK)
{// 处理模态窗体的结果
}

4)返回值:
ShowDialog() 返回一个 DialogResult 枚举值,可以用来判断用户的操作(如点击“确定”或“取消”)。

2.、非模态窗体

1)定义:
非模态窗体是指窗体显示后,用户可以在不关闭该窗体的同时,继续与应用程序的其他部分进行交互。

2)特点:
窗体以非模态方式显示时,不会阻塞主窗体的操作。

用户可以同时操作多个窗体。

适合用于需要长时间显示或需要与其他窗体同时操作的场景,例如工具箱、属性窗口等。

3)显示方法:
使用 Show() 方法显示非模态窗体。

Form modelessForm = new Form();
modelessForm.Show();

非模态窗体不会阻塞主线程,因此需要特别注意窗体的生命周期和数据同步问题。

如果需要与非模态窗体交互,可以通过事件或公共方法实现。

3.、模态窗体与非模态窗体的对比

在这里插入图片描述

4、视频讲解

winform模态与非模态窗体

5、 总结

模态窗体:适合需要用户立即处理的场景,会阻塞主窗体的操作。

非模态窗体:适合需要长时间显示或与其他窗体同时操作的场景,不会阻塞主窗体的操作。

根据具体需求选择合适的窗体显示方式,可以提升用户体验和应用程序的交互性。


http://www.mrgr.cn/news/93988.html

相关文章:

  • 虚幻基础:动画系统
  • 无人机避障——XTDrone中运行VINS-Fusion+Ego-planner进行路径规划
  • 【愚公系列】《AI Agent技术、应用与商业》003-Al Agent 的分类方式
  • 【NexLM 开源系列】如何封装多个大模型 API 调用
  • 在线json转ArkTs-Harmonyos
  • π0源码剖析——从π0模型架构的实现(如何基于PaLI-Gemma和扩散策略去噪生成动作),到基于C/S架构下的模型训练与部署
  • Smart contract -- 自毁合约
  • 忘记dedecms后台超级管理员账号和密码的解决方案
  • ROS实践(二)构建Gazebo机器人模型文件urdf
  • 大语言模型 (LLM) 基础知识
  • Java 大视界 -- Java 大数据在智慧农业农产品质量追溯与品牌建设中的应用(124)
  • 自监督预训练算法核心原理
  • 【论文阅读】VAD: Vectorized Scene Representation for Efficient Autonomous Driving
  • 蓝桥杯备赛日记【1】(c++赛道)
  • MySQL的安装及配置
  • docker私有仓库配置
  • delphi 正则提取html中的内容
  • Hugging Face的Transformers核心模块:Pipelines(参数说明,各种模型类型调用案例)
  • 『PostgreSQL』 Ubuntu 系统下PG15的安装与 PGVector 配置指南
  • 01.02、判定是否互为字符重排