C#如何操作另一个窗体:[1]主窗体操作子窗体(转)

方法/步骤

  1. 1

    首先,我们建立一个项目,然后往窗体拖入一个按钮

  2. 2

    我们在项目管理那里,右击,选择"添加",再选择"windows窗体"

  3. 3

    我们回到窗体1,双击按钮,打开代码窗口

  4.  

    在代码窗口中,我们输入代码

    Form2 a = new Form2();

    a.Show();

    这几句话的意思是,实例化一个Form2,然后弹出窗体

  5.  

    我们启动程序测试,点击程序窗口中的按钮

  6.  

    OK,现在你看到form2弹出来

  7.  

    我们回到form1中,打开form1的代码,然后在里面加入如下代码,其实就是操作form2窗体的代码

  8.  

    好,我们重新运行程序,看看,form2的标题已经改变

  9.  

    当然,以上都是最基本的,现在说一些复杂的,比如我们要操作form2里面的一个控件.

    我们首先往form2拉入一个按钮,这个按钮其实你是无法操作它的,因为它是一个private控件,你必须把它变成public的,也就是公开的

  10.  

    好,我们来把它设置成公开的,我们在项目管理窗口中,选中"Form2.Designer.cs"双击打开代码

  11.  

    我们找到按钮的定义代码,把前面的private更改为public,现在你就可以操作它了

  12.  

    我们现在回到form1的代码,现在我们可以操作form2里面的按钮了

    我们把里面改为如下

    Form2 a = new Form2();

    a.button1.Text = "被操作的按钮";

    a.Show();

  13.  

    我们运行程序,子窗体的按钮上的文字已经被修改了,这就是主窗体修改子窗体的方法

时间: 2025-01-13 17:06:45

C#如何操作另一个窗体:[1]主窗体操作子窗体(转)的相关文章

Delphi MDI程序 父窗体如何调用当前活动子窗体的函数/过程

一个MDI文本文件编辑器打开了N个子窗体子窗体的.pas文件有一些public的过程和函数我想在父窗体调用当前活动的子窗体函数我用Self.ActiveChildForm无法调用直接frmEdit.xxxx运行出错求大家指导,谢谢! 回复于: 2013-01-21 15:31:31 将子窗口的函数定义为类函数calss function a(const s: string): Boolean; 有两种解决办法,一种就是上楼说的,定义成class function静态方法,第二种就是普通的方法:D

父窗体与子窗体的右键菜单合并(子窗体最大化后)

1 private void 打开子窗体ToolStripMenuItem_Click(object sender, EventArgs e) 2 { 3 Form2 f = new Form2();//创建窗体对象 4 f.MdiParent = this;//设置父窗体属性 5 f.Show();//显示窗体 6 f.Resize += //为窗体添加事件 7 new EventHandler(f_Resize); 8 } 9 10 void f_Resize(object sender,

2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生

主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序 1.主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中有各字框体的new创建语句,因此: 2.依次执行各子窗体InitializeComponent函数 3.主窗体new事件结束后,并不创建任何窗体或子窗体,也就没有任何Load事件发生.直到主窗体Show事件. 4.主窗体Show事件后,顺序执行各子窗体Load事件,注意!!并不是先执行主窗体Load

window.open 打开子窗体,关闭全部的子窗体

需求:通过window.open方法打开了子窗体,当关闭主窗体时.子窗体应当也关闭. 实现思路: 1.打开子窗体函数window.open(url,winName)的第二个參数winName能够唯一标识打开的窗体.因此关闭子窗体仅仅须要使用winName.close()函数就可以. 2.一个页面可能有多个子窗体. 因此须要一个数组存储全部子窗体对象.关闭时,遍历数组就可以. 3.子窗体还能够再打开子窗体. 无限循环下去.因此须要推断. 此需求能够通过两个方法实现. 调用子窗体的关闭函数. 此方法

单例模式——解决MDI子窗体实例化的问题

机房收费系统进行有一段时间了,但是始终有些历史遗留问题.比如,如何MDI子窗体如何显示在上层的问题和MDI子窗体实例化的问题. 对于如何显示在上层的问题,这次采用的还是SetParent函数,在模块里面添加: <span style="font-size:18px;"><span style="font-size:18px;"> '定义一个用来设置子窗体的函数 Declare Function SetParent Lib "user

Delphi中实现MDI子窗体(转)

Delphi中实现MDI子窗体 用MDI实现浏览子窗口,具有窗口管理功能,同屏观看多个网页的内容  ① 多文档窗体(MDI) MDI窗体是一种具有主子结构的窗体体系,微软的Word便是其中的一个典型例子.MDI体系中至少需要两种窗体,只能将其中之一设置为主窗体,其余窗体全部则全部为子窗体,主窗体负责子窗体的管理.切换等工作.自然,子窗体上承载的内容可各不相同.Tidy浏览器最终实现了三种不同的窗体:主窗体.浏览子窗体.源代码子窗体.  ② 设置窗体类型  我们通过窗体的FormStyle属性设置

C#父、子窗体间传值等

这是老生常谈的一个问题,百度上太多方法了,对错先不说.只想介绍最简单.明了的方法 这里介绍两种方法: 1.无参 2.有参 前提: 1.不管什么方法,窗体间传值,要被调用 的方法.控件.函数等等,修饰符都要先设置为Public 2.新建父.子两个窗体 主窗体 Main: 子窗体 Child: 一,无参(大部分人喜欢用这种) 只介绍一点:Owner属性,VS的解释:获取或者设置拥有此窗体的窗体   ,换种通俗的说法,说明它支持读取和修改. Main后台代码: namespace MainChild

MvvmCross for WPF 支持子窗体显示、关闭、传参

最近在做 PCL(Portable Class Library)平台的项目,所以发一下自己遇到的问题 MvvmCross 是 PCL 平台的一个 MVVM 框架 地址:https://github.com/MvvmCross/MvvmCross 支持的平台: Silverlight for WP7, WP8 Mono for Android (or Xamarin.Android) MonoTouch for iOS (or Xamarin.iOS) the WinRT XAML framewo

Winfrom子窗体刷新父窗体

本人比较懒,直接从网上转载了一篇比较合适的文章,只是文章格式有点乱,地址是 http://aspnet.blog.163.com/blog/static/17515510920121126104433237/ 调用窗体(父):Form1,被调用窗体(子):Form2 方法1:   所有权法//Form1://需要有一个公共的刷新方法public   void   Refresh_Method(){//...}//在调用Form2时,要把Form2的所有者设为Form1Form2   f2   =