惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog
C
Check Point Blog
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
T
Tailwind CSS Blog
Vercel News
Vercel News
腾讯CDC
GbyAI
GbyAI
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
H
Help Net Security
博客园 - 三生石上(FineUI控件)
D
DataBreaches.Net
Microsoft Security Blog
Microsoft Security Blog
小众软件
小众软件

博客园 - 路者

几个开源Android Camera传输视频流例子 Moodle开发基础1 Moodle: 查询 / 更新 / 添加 / 删除 / 导出 用户 ($DB用法 构建Moodle开发环境 Moodle二次开发(1)-- 微创新 让moodle增加学号 通信对象System.ServiceModel.Channels.ServiceChannel 无法用于通信,因为其处于“出错”状态。 WCF传输List<object>时序列化问题 c# 类似于QQ表情弹出框功能的二种实现方法 asp.net类似于QQ表情弹出框功能的实现方法 仿QQ弹出窗口[转] 上海大学游戏设计07年硕士研究生招生考试大纲 海南 琼海 韵达快递 垃圾! 集合概述 C#中的格式 同一解决方案内的多个项目之间如何引用? 什么是SDK? 每个开发人员现在应该下载的十种必备工具 关于asp.net中服务器应用程序不可用
窗体显示中form1.Show()和form1.ShowDialog()的区别
路者 · 2007-11-02 · via 博客园 - 路者

窗体显示中form1.Show()和form1.ShowDialog()的区别:

窗体和对话框要么是有模式的,要么是无模式的。“模式”窗体或对话框必须关闭或隐藏,然后您才能继续使用应用程序的其余部分。

显示重要消息的对话框应始终是有模式的。模式对话框的一个示例是 Visual Studio 中的“关于”对话框。MessageBox是您可以使用的一个模式窗体。有模式对话框显示出来以后,那么开始打开的窗体或对话框就不能再获得焦点了。

“无模式”窗体让您在此窗体与另一窗体之间变换焦点,而不必关闭初始窗体。用户在该窗体显示的同时可继续在任何应用程序的其他位置工作。例如:文本编辑软件里面的搜索功能,就是一个无模式的,因为搜索对话框出来以后,还可以操作编辑本文,即它不影响其他窗体获得焦点。

将窗体显示为有模式对话框用form1.ShowDialog()方法。这个方法有一个可选参数 owner,该参数可用于指定窗体的父子关系。例如:

在Form1代码段中:

Form2 f2=new Form2();

f2.ShowDialog(this);//this表示Form1当前实例

这样f2实例就和Form1实例建立了一个父子关系,可以相互通讯。

如果没有使用f2.ShowDialog(this)而直接使用的是无参的,要定义父子关系,则需要语句f2.owner=this;

   将窗体显示为无模式对话框则用form1.show()方法。

注意    如果窗体显示为有模式,则在关闭该对话框之前,不执行 ShowDialog 方法后面的代码。但是,当窗体显示为无模式时,那么该窗体显示之后,会立刻执行 Show 方法后面的代码。