【2016-11-6】【坚持学习】【Day21】【子窗口关闭时,同步关闭它的主窗口】

SubWindow 子窗口代码

 public partial class SubWindow : Window
    {

        public delegate void UpdateDelegate();
        public UpdateDelegate myHandle;
        public SubWindow()
        {
            InitializeComponent();

            this.Closed += SubWindow_Closed;
        }

        private void SubWindow_Closed(object sender, EventArgs e)
        {
            myHandle();
        }
    }

主窗口代码

 public partial class MainWindow : Window
    {

        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            SubWindow s = new SubWindow();
            s.myHandle += Method1;
            s.Show();
        }

        private void Method1()
        {
            MessageBox.Show("子窗口要关闭啦。我们也要同步关闭了。");
            this.Close();
        }
    }
时间: 2025-01-03 22:34:35

【2016-11-6】【坚持学习】【Day21】【子窗口关闭时,同步关闭它的主窗口】的相关文章

C#程序关闭时怎么关闭子线程

一.在实际编码中会遇到这种问题: 在客户关闭程序时,主线程直接关闭,不考虑子线程. 但是任务管理器中,主程序进程还在运行(在等子线程结束,而子线程做成了while(1)等情况) 二.在主线程关闭处理时,首先关闭子线程. 类似代码如下: private void Main_FormClosing(object sender, FormClosingEventArgs e) { if (flowThread != null && flowThread.isAlive) flowThread.A

VC 在子线程中结束主窗口程序

在MFC 中,创建一个子线程,若想在子线程中退出主窗口程序,可使用PostMessage 向主窗口发送close 或者quit 消息. BOOL CHandBoxComDlg::OnInitDialog() { g_pThread= AfxBeginThread(ThreadRdFromHandBox, (LPVOID)this); } UINT ThreadRdFromHandBox(LPVOID pParam) { CHandBoxComDlg* pParent=(CHandBoxComDl

学习登录窗口与主窗口的运行流程

转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688 总结下互相学习用: 显示登录窗口->判断登录窗口返回值->登录成功显示主窗口,否则关闭程序. 主要代码如下: 1.在Main中修改部分代码如下:其中FrmUserLogin为登录窗口:FrmMain为主窗口: 过程:先显示登录窗口,根据登录窗口返回的result判断成功与否,成功显示主窗口,否则关闭程序. static void Main() { Application.EnableVisualStyles();

QT开发(二十二)——QMainWindow主窗口

QT开发(二十二)--QMainWindow主窗口 一.主窗口简介 应用程序中的主窗口是与用户进行长时间交互的顶层窗口,提供了应用程序的大部分功能,通常是应用程序启动后的第一个窗口,应用程序一般由一个主窗口和多个对话框组成. QT中直接支持主窗口,QMainWindow是QT中主窗口的基类,是继承于QWidget类的容器型组件. QMainWindow内部封装了菜单栏.工具栏.中心组件.停靠组件.状态栏等. QMainWindow内置了布局管理器,基本的组件布局如下: 二.菜单栏 QT中提供了预

如何获得 Qt窗口部件在主窗口中的位置--确定鼠标是否在某一控件上与在控件上的位置

用Qt Creator 设计程序时,最方便的就是ui设计器,可以很容易的得到想要的布局. 但是这样自动布局带来的后果是很难知道窗口中某一部件在主窗口中的相对位置. 在处理子窗口鼠标事件时变的很麻烦.主窗口有菜单.工具条等,想用鼠标绘图, 把鼠标轨迹映射到窗口部件上,这些问题. 其实最主要的是获得窗口部件的起始点相对主窗口的位置. 例如:在主窗口拖入一个QScrollArea 在其上放一个QLabel用来显示鼠标事件. 可以在ui对象结构上看到如下结构. 大家知道,我们可以用pos()来获得某一窗

C#-WinForm-跨窗体 构造函数传值 及应用—登录式窗口传值、如何关闭主页面时关闭应用程序、如何打开唯一窗口—★★★★★五星重量级

构造函数可以传任意类型的值,并可以同时传多个值 结构函数传值的初步应用--简单的登陆式界面 现在我有两个窗体Form3和Form4,如下,如何点击Form3中的按钮后,打开Form4并将Form3中的textbox中的值传给Form4的label? 1.点击Form3中的按钮打开Form4 2.获取Form3中的值 3.传值给Form4中的label 一.获取Form3中textbox1的值 button1的点击事件: namespace 记事本 { public partial class F

Delphi主窗口任务栏菜单的问题(转发WM_SYSCOMMAND到Application)

Delphi的VCL框架在创建应用时TApplication是一个自动创建的隐藏窗口,其它创建的窗口是自动以该窗口为窗口,这就导致创始的主窗口在任务栏的系统菜单只有三项,只要在主窗口的Create事件中将系统菜单用Application的系统菜单替换,并将SysCommand消息转发到主窗口就正常了. unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo

ABBYY是怎么自定义主窗口的

启动 ABBYY FineReader OCR文字设别软件时,将打开其主窗口.同时将显示任务窗口,可以启动内置或自定义自动化任务. 主窗口显示目前打开的 ABBYY FineReader 文档. ● 在页面窗口中,可以查看当前 FineReader 文档的页面.有两种页面查看模式:缩略图(显示小图)和详细信息(即显示文档页面及其属性的列表).可 使用该窗口的快捷菜单(即视图菜单)切换这两种模式,也可选择工具 > 选项… > 视图. ● 图像窗口显示当前页面的图像.可以在此处编辑区域.页面图像和

[Qt Creator 快速入门] 第5章 应用程序主窗口

??这一章开始接触应用程序主窗口的相关内容.对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏.工具栏.状态栏和中心区域等.这一章会详细介绍主窗口的每一个部分,还会涉及资源管理.富文本处理.拖放操作和文档打印等相关内容.重点是讲解知识点,而相关的综合应用实例放到了<Qt及Qt Quick开发实战精解>一书中. ??Qt中提供了以QMainWindow类为核心的主窗口框架,包含了众多相关的类,它 们的继承关系如图5 - 1所示,本章会讲解到图中每一个类的基本应用. 图5-1主