首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在 Windows Forms 2.0 中从子窗体关闭父窗体?

在 Windows Forms 2.0 中,从子窗体关闭父窗体的方法是通过访问子窗体的父窗体属性并调用其 Close() 方法。以下是一个简单的示例:

  1. 首先,在父窗体(例如 Form1)中创建一个子窗体(例如 Form2)的实例,并将父窗体的引用传递给子窗体。
代码语言:csharp
复制
Form2 form2 = new Form2(this);
form2.Show();
  1. 在子窗体(Form2)中,创建一个方法(例如 CloseParentForm),用于关闭父窗体。
代码语言:csharp
复制
public void CloseParentForm()
{
    if (this.ParentForm != null)
    {
        this.ParentForm.Close();
    }
}
  1. 在子窗体中的某个事件(例如按钮单击事件)中,调用 CloseParentForm() 方法。
代码语言:csharp
复制
private void button1_Click(object sender, EventArgs e)
{
    CloseParentForm();
}

这样,当子窗体中的按钮被单击时,父窗体将被关闭。

需要注意的是,这种方法可能会导致父窗体被关闭,而不考虑其他子窗体是否仍处于打开状态。因此,在实际应用中,请确保仔细考虑窗体关闭的逻辑。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

焦点事件中的Validating处理方法

本文转载:http://tech.it168.com/oldarticle/2006-04-03/200604031055437.shtml 有时候,我们需要检查用户输入到Windows窗体中的信息是否有效...关闭窗体和重写验证 当数据无效时,维护焦点的控件的副作用是,使用关闭窗体的任何常规方法都将无法关闭父窗体: 单击“关闭”框 通过右击标题栏显示的“系统”菜单 以编程方式调用 Close 方法...        不过,在某些情况下,无论控件中的值是否有效,您都希望用户可以关闭窗体。...您可以重写验证,并通过创建窗体的 Closing 事件的处理程序来关闭仍包含无效数据的窗体。在该事件中,将 Cancel 属性设置为 False。这将强制关闭该窗体。        ...如果使用此方法强制关闭窗体,控件中尚未保存的任何信息都将丢失。模式窗体在关闭时不会验证控件内容,仍可以使用控件验证将焦点锁定到控件,但不必考虑关闭窗体的行为。

2K10
  • 【愚公系列】2023年11月 Winform控件专题 Label控件详解

    欢迎 点赞✍评论⭐收藏前言Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、...一、Label控件详解Label控件是Windows Forms中最常用的控件之一,用于显示文本或图像。在Visual Studio中使用Label控件非常简单。...2.在代码中设置borderstyle属性:this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; //设置为无边框this.textBox2....BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; //设置为无边框this.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D...以下是一个具体的案例,用于说明如何在Winform中使用Label控件:在Visual Studio中创建一个新的Winform项目。在Form中添加一个Label控件。

    90811

    1-3 Winform 中的常用控件(

    1-3 Winform 中的常用控件 u 本节学习目标: n System.Windows.Forms.Control基本结构 n 使用基本控件如标签、文本、按钮、列表框和组合框 n 掌握窗体的常用属性和方法...n 进行基本控件的开发设计工作 n 深入掌握系统对话框的属性及代码开发 n 掌握模式对话与非模式对话的概念及差异 n 了解模式对话的开发机理 1-3-1 简介 Winform 中的常用控件来自于系统System.Windows.Forms.Control...,该类库来自System.Windows.Forms命名空间之内,该命名空间提供各种控件类,使用这些控件类,可以创建丰富的用户界面,具体实现功能由位于该命名空间下的Control系统类派生。...对于上述所有的这些可视化界面组件,我们统一称之为控件,这些控件都是源于System.Windows.Forms命名空间,该命名空间结构如图1-7。 ?...图1-7 System.Windows.Forms命名控件集 1.

    2.8K10

    【愚公系列】2023年11月 Winform控件专题 Form控件详解

    欢迎 点赞✍评论⭐收藏前言Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、...|下面案例演示了如何在 WinForms 中使用 AutoScroll 属性:using System;using System.Drawing;using System.Windows.Forms;namespace...1.18 FormBorderStyleFormBorderStyle属性是Windows Forms中的一个属性,它用于设置表单的边框样式,该属性可以设置为以下五个选项:None:该选项将使表单没有边框...在Form1.cs文件中添加以下代码:using System;using System.Windows.Forms;namespace WinformFormDemo{ public partial...Form1类是我们的主窗体,它继承自System.Windows.Forms.Form。 我们还使用了Windows Forms设计工具来构建我们的Winform应用程序。

    2.5K21

    c# Winform 继承窗体 无法拖动修改控件大小

    问题描述: 一个窗体集成父窗体,发现无法直接拖动修改的控件,比如修改大小等 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠标放到控件移动手方块上会出现一个“继承的控件”的tooptip, 异常...原因: 父窗体设置了WindowState属性为:System.Windows.Forms.FormWindowState.Maximized 在父窗体的designer.cs中有这么一句话: this.WindowState...= System.Windows.Forms.FormWindowState.Maximized; 解决办法: 一、去掉这句话 二、放在窗体构造函数中,在这句话前面加上判断,如果VS处于设计模式,...if (CheckDesingModel.IsDesingMode) return;//如果处于设计模式,返回 this.WindowState = System.Windows.Forms.FormWindowState.Maximized

    2.2K20

    【手记】WebBrowser响应页面中的blank开新窗口及window.close关闭本窗体

    注:本文适用.net 2.0+的winform项目 目的: 点击页面中的target="_blank"链接时,弹出新窗体 页面中有window.close()操作时,关闭窗体 上述窗体是指WebBrowser...所在的Form,基本上,上述目的就是让该窗体表现得像个正常浏览器而已。...另外,该事件进入时,wb的StatusText几乎可以断定就是所点链接的href,极端情况以后遇到再说 } 二、响应页面中的window.close以关闭本窗体 由于wb没有现成的Close之类的事件,...WndProc方法来处理这个消息,这就需要继承wb写一个子类,子类如下: using System; using System.Security.Permissions; using System.Windows.Forms...WebBrowserEx的WindowClosed事件,关闭自身就好。

    1.1K30

    Spread for Windows Forms快速入门(10)---绑定到数据库

    点击确定关闭生成数据集对话框。 新的数据集控件已经被添加到了你的窗体中。 6. 如果DataSet控件的属性窗口还没有出现,点击F4打开。 7. 在属性窗口中,将控件的名称改为dbDataSet。...附:Spread for Windows Forms快速入门系列文章 Spread for Windows Forms快速入门(1)---开始使用Spread Spread for Windows Forms...快速入门(2)---设置Spread表单 Spread for Windows Forms快速入门(3)---行列操作 Spread for Windows Forms快速入门(4)---常用的单元格类型...(上) Spread for Windows Forms快速入门(5)---常用的单元格类型(下) Spread for Windows Forms快速入门(6)---定义单元格的外观 Spread for...Windows Forms快速入门(7)---单元格的交互操作 Spread for Windows Forms快速入门(8)---单元格中用户动作出发的事件 Spread for Windows Forms

    1.7K90

    【C#】分享一个可携带附加消息的增强消息框MessageBoxEx

    功能和特点: 相对父窗体居中 可附带附加消息。附加消息可以是string和Exception类型,【详细信息】按钮会根据是否传入附加信息显示和隐藏。...实用为王的你亦可设置EnableAnimate=false关闭动画效果 在Windows Server 2008 R2(未测试其它服务器系统)也有声音反馈。...如果你跟我一样不会用到标准消息框的IWin32Window、MessageBoxOptions和Help相关参数的话,基本上你可以在整个项目中全程用此消息框替换掉标准消息框,别忘了相比标准消息框,它还具备了可缩放、相对父窗体居中等额外能力...| System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left...另外,根据传入的MessageBoxButtons有无Cancel项,会启用/屏蔽窗体右上角的关闭按钮,因为单击关闭按钮的对话框结果始终是DialogResult.Cancel,所以如果不屏蔽,在传入YesNo

    2K10

    SplitContainer(拆分条控件)

    在下面的代码示例中,在窗体的 Load 事件中将 SplitContainer 控件中的拆分器设置为拖动时跳过 10 个像素。...窗体创建多窗格用户界面在下面的过程中,将创建一个类似于在 Microsoft Outlook 中使用的多窗格用户界面,该界面中包含“文件夹列表”、“邮件”窗格和“预览”窗格。...这种排列主要是通过在窗体上停靠控件实现的。在停靠控件时,可以确定控件要紧靠父容器的哪个边缘。这样,如果将 Dock 属性设置为 Right,控件的右边缘将停靠在它的父控件的右边缘。...有关 Dock 属性工作方式的更多信息,请参见如何:在 Windows 窗体上停靠控件。...private System.Windows.Forms.RichTextBox richTextBox1; private System.Windows.Forms.

    2.3K20

    【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去

    要想获得值可能就得额外采取一些做法,例如响应弹出控件的关闭事件,或者把原窗体传入弹出控件完了在后者中做原本应该在原窗体中做的事~等等,办法当然有很多,但这都是因为只能Show带来的多余的事,有什么比在一个方法中弹出控件...|| (this.SizeGripStyle == System.Windows.Forms.SizeGripStyle.Auto && Modal);...prms.Style |= -2147483648; //WS_POPUP prms.Style |= 0x40000000; //WS_CHILD 重要,只有CHILD窗体才不会抢父窗体焦点...Hide的情况下再次弹出,这会引发异常,故需做处理 if (this.Visible) { return System.Windows.Forms.DialogResult.None...) { _borderWidth = 0; } else if (_border3DStyle == System.Windows.Forms.Border3DStyle.Flat

    2.8K20

    C# winform 界面美化技巧(扁平化设计)

    调节背景色,建议找到自己喜欢的颜色,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor属性之中 在主窗体的Mouse_Down中添加如下事件,实现窗体随意拖动...,在program.cs中,注释掉如下内容: using System; using System.Windows.Forms; namespace 界面美化 { static class...在此我们有如下代码 using System.Windows.Forms; using System.Drawing; namespace 界面美化 { class MyProgressBar...2, 2, bounds.Width, bounds.Height);//此处完成前景重绘,依旧按照Progressbar的属性设置前景色 } } } 完成以上步骤之后,我们如何在界面中插入自己的进度条呢...“我们可以先插入一个winform自带的ProgressBar,调整好位置,ForeColor,BackColor属性,然后进入窗体的Designer程序中做如下修改: //private System.Windows.Forms.ProgressBar

    7.2K30

    再议Windows消息与WinForm事件

    然而如今看来,当时的文章中的案例在运行上存在一定的问题,并且内容也有所缺陷,于是本文将重新优化文章的内容。 消息概述 Windows下窗体应用程序的执行是通过消息驱动的。...所有的外部事件,如键盘输入、鼠标移动、按动鼠标都由用户所触发;然后OS接收到对应的“消息”;然后送入消息队列中;接下来,启动的应用程序的工作引擎通过轮询等方式遍历获取,然后按照消息的类型逐个分发(Dispatch...窗体使用MouseClick事件中的函数指针调用已经添加的响应函数。所以C#中的事件字段实质上是一个函数指针列表,用来维护一些消息到达时的响应函数的地址。...WndProc 在.NET框架类库中的System.Windows.Forms命名空间中微软采用面对对象的方式重新定义了Message。...// // 参数: // m: // 要处理的 Windows System.Windows.Forms.Message。

    27510

    C# winform ——界面美化技巧

    调节背景色,建议找到自己喜欢的颜色,然后使用取色器(我用的是按键精灵自带的取色板)取得想要的RGB参数,输入到BackColor属性之中 在主窗体的Mouse_Down中添加如下事件,实现窗体随意拖动:...,在program.cs中,注释掉如下内容: using System; using System.Windows.Forms; namespace 界面美化 { static class Program...在此我们有如下代码 using System.Windows.Forms; using System.Drawing; namespace 界面美化 { class MyProgressBar..., 2, bounds.Width, bounds.Height);//此处完成前景重绘,依旧按照Progressbar的属性设置前景色 } } } 完成以上步骤之后,我们如何在界面中插入自己的进度条呢...``我们可以先插入一个winform自带的ProgressBar,调整好位置,ForeColor,BackColor属性,然后进入窗体的Designer程序中做如下修改: //private System.Windows.Forms.ProgressBar

    5.7K41

    PyQt5编程基础 2.1 GUI程序的基本框架-使用窗体类的GUI程序框架

    使用窗体类的GUI程序框架使用第一次实训中创建的类Ui_FormHello来构建GUI应用程序创建项目目录e:\baikejia\bkj2-2新建Eric6项目建好后,应该是这样新建一个Qt项目QtApp...设置text属性,改一下字体,让它好看些改一下对齐格式完成后,窗体应该是这样的放一个Push Button命名为btnClose,text设置为“关闭”,修改font让它好看保存窗体窗体设计完成代码设计将...QtApp中的ui文件复制到项目目录添加Form点击Forms点右键选择Add Forms,将form加进去编译form右键点ui文件,选择compile form编译完,点回sources会发现ui文件编译后的...py文件已经生成了打开代码编辑器双击py文件,可看到文件的内容试着直接运行运行结果这时,按关闭按钮无反应,因为还没有代码使用单继承方式调用这个窗体类新建一个appMain.py文件输入如下内容import...__init__(parent) #调用父类构造函数,创建QWidget窗口 self.__ui=Ui_FormHi() #创建UI对象 self.

    24210

    PyQt5编程基础 2.1 GUI程序的基本框架

    这个类是管理GUI应用程序的控制流程和设置的类 创建窗体 创建窗体,设置窗体参数 创建界面组件 窗体显示 运行程序 使用窗体类的GUI程序框架 使用第一次实训中创建的类Ui_FormHello来构建...完成后,窗体应该是这样的 放一个Push Button 命名为btnClose,text设置为“关闭”,修改font让它好看 保存窗体 窗体设计完成 代码设计 将QtApp中的ui文件复制到项目目录...添加Form 点击Forms 点右键 选择Add Forms,将form加进去 编译form 右键点ui文件,选择compile form 编译完,点回sources 会发现ui文件编译后的...py文件已经生成了 打开代码编辑器 双击py文件,可看到文件的内容 试着直接运行 运行结果 这时,按关闭按钮无反应,因为还没有代码 使用单继承方式调用这个窗体类 新建一个appMain.py文件...这样按下按钮,相当于告诉它要关闭 运行appMain 按下按钮,窗口关闭

    96220
    领券