winform子窗口调用父窗口的控件及方法-一般调用

摘要:
右键单击项目属性->选择Windows窗体->分别在Form1和Form2窗口中添加一个按钮,然后双击以添加一个事件处理程序:父窗口Form1的按钮处理程序,并定义一个方法来显示要调用的子窗口的消息框(只有定义为public时才能调用):弹出表单2的代码,当子窗口调用父窗口时将发生错误。子窗口Form2的按钮处理功能是更改父窗口Form1按钮的TEXT文本(以便调用父窗口控件)。

首先新建一个窗体应用程序,在项目属性中点击右键->添加->添加新项,选择Windows窗体->添加。

winform子窗口调用父窗口的控件及方法-一般调用第1张

 在Form1和Form2窗口中各添加一个按钮,并双击添加事件处理函数:

winform子窗口调用父窗口的控件及方法-一般调用第2张    winform子窗口调用父窗口的控件及方法-一般调用第3张

父窗口Form1的按钮处理函数,打开子窗口Form2,另外定义一个显示消息框的方法供子窗口调用(定义为public才能被调用):

winform子窗口调用父窗口的控件及方法-一般调用第4张

注意:弹出窗体2的代码,这里, a.Show(this);一定要这样写,如果是 a.Show();在子窗口调用父窗口时会出错

 子窗口Form2的按钮处理函数为改变父窗口Form1按钮的TEXT文本(为了调用父窗口控件,要把按钮定义private改为public,打开form1.cs->form1.designer.cs,找到按钮定义把private改为public),并调用父窗口Form1的show()方法:

winform子窗口调用父窗口的控件及方法-一般调用第5张

winform子窗口调用父窗口的控件及方法-一般调用第6张

 值得注意的是,1.需要调用的按钮或者方法必须定义为public,2.弹出子窗体要用.show(this),否则操作不了父窗口,3.子窗口是打开的,父窗体也是打开的,所以不能用new调用父窗体,New调用的话,就等于是新建了一个窗体了。

结果显示:

winform子窗口调用父窗口的控件及方法-一般调用第7张

免责声明:文章转载自《winform子窗口调用父窗口的控件及方法-一般调用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇变量的结构赋值JAVA中3种将byte转换为String的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux下计划任务以及crontab权限问题

在Linux工作环境下,我们有时可能会需要在未来某个时间执行某个命令或脚本,但是我们又不可能定个闹钟,然后到点了再去执行吧,这多麻烦。还好我们的Linux系统这么强大,提供了任务计划这个功能,我们就不需要守着点去执行相应的命令或脚本了。当我们定义好了任务计划之后,就可以去做别的事情了,等到了我们自己定义的那个时间点,你所定义的任务操作系统会自动执行,这就被...

LINQ根据时间排序问题(OrderBy、OrderByDescending)

直接上代码: db.GetList<Draw2D>(x => x.ProductId == id && x.EditionNo == no) .OrderBy(x => x.CreateTime.Desc()) .ToList(); 这个无法排序!!! return db.GetList<Dra...

android之手机震动Vibrate

[java] view plaincopy  package cn.com.chenzheng_java;      import android.app.Activity;   import android.media.AudioManager;   import android.os.Bundle;   import android.os.Vi...

对List中每个对象元素按时间顺序排序

1 import java.util.*; 2 3 public class ListSort { 4 public static class UserBean { 5 private String id; 6 private String birthday; 7...

从零开始学习GDI+ (二) 基本概念与基本操作

       从零开始学习GDI+ (一)我的第一个GDI+程序        上文给新手学习GDI+讲述了vs环境等的准备工作,并且可以直接用GDI+绘图了。本文开始,讲述的可能偏理论,建议学习的过程中大胆尝试,多使用API。        首先上官方文档https://docs.microsoft.com/en-us/windows/win32/gdi...

Android中的常见时区

方法: private void printTimeZone(){ String[] ids= TimeZone.getAvailableIDs(); for (int i = 0; i < ids.length; i++) { Log.d(TAG,"时区"+i+"-->>"+ids[i]); } D: 时...