主窗体和子窗体之间如何相互操作对方的控件

C# (1)点击菜单跳出新窗体,(2)在主窗体中切换子窗体(pannel控件的使用) 窗体设计,需要在点击菜单栏时显示不同的窗体 点击充值记录后显示出新窗体 实现效果 代码 点击充值信息在主窗体切换子窗体 实现效果 实现方法 (1)添加Pannel控件 (2)添加代码(书写在菜单栏的双击事件中) (3)实现效果 (4)如果不需要最大化最小化和关闭按钮修改窗体的属性 contrBOX改为true formborderStyle修改为None ... 阅读详情

很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。

 

下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:

第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如:

        public static yourMainWindow pCurrentWin = null;

 

       然后在主窗体构造函数中,给静态成员初始化,如下:

            pCurrentWin = this;

 

       那么在子窗体中调用父窗体,可以通过“主窗体类名. pCurrentWin”来操作当前的主窗体。

 

       第二种,是在子窗体中定义一个私有成员,来保存当前主窗体对象,例如:

        private yourMainWindow pParentWin = null;

      

       然后在子窗体构造函数中,加一参数,如下:

        public yourChildWindow( yourMainWindow WinMain )

        {

            pParentWin = WinMain;

            //Other code

}

      

       在主窗体创建子窗体的时候,要把this作为参数来构造子窗体,这样在子窗体中调用父窗体,可以直接用“this.pParentWin”就可以了

 

       不过以上所作的,只是让你能够访问当前主窗体对象,那么如何操作控件,很多人直接修改控件的成员访问符,即把“private”改为“public”,我觉得这样破坏了本身类的封装,所以我比较喜欢的做法是增加公有属性或方法来供调用,例如:

        public string ButtonText

        {

            get{ return btn.Text;}

            set{ btn.Text = value;}

        }

 

        public void Button_Click()

        {

            this.btnDConvert.PerformClick();//Execute button click

        }

      

      

C#主窗口与子窗口之间的控件相互操作 主窗口调用子窗口的控件 子窗口的控件默认是private,将其更改成public供主窗口调用从安全角度考虑不合适,可以将对控件的控制封装成public方法,这样主窗口通过调用子窗口的方法就可使用子窗口的控件; 子窗口修改主窗口的控件 子窗口产生信息,然后将信息委托给主窗口的函数进行处理。... 阅读详情

相关推荐

C#中父窗口和子窗口之间实现控件互操作

C#中父窗口和子窗口之间实现控件互操作C#中父窗口和子窗口之间实现控件互操作

C# Winform主窗体和子窗体之间如何相互操作对方的控件

很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: public static yourMainWindow pCurrentWin = nu...

weixin_30776545的博客 476

C#中子窗体调用主窗口控件的简单实例

这应该就是窗体间调用控件的最简单最好理解的代码了。 C#不像VB.NET,控件要讲究实例化,VB.NET哪里管那么多,拿来直接就用,如果控件的modifier的属性设为Public,更简单,连控件的所属表单都不用加,直接用控件名称就可以。

Qt中父窗口调用子窗口的控件

Qt中父窗口调用子窗口的控件 在编写程序的时候,我们可能想从父窗口去调用子窗口的控件。比如:当父窗口触发某个事件时,子窗口显示,并且设置子窗口中的控件显示特定的内容,这就是本文想要讨论的问题。 方法: 父窗口为a9Mechanical,它用来查询数据库中满足条件的数据,并且显示在控件tableView中,当双击tableView中某一行数据时, 改行数据的最后一列...

6850

团结引擎+OpenHarmony 2实战篇:从零构建鸿蒙应用开发环境

本文详细介绍了如何从零开始构建鸿蒙应用开发环境,重点讲解了团结引擎与OpenHarmony 2的实战配置步骤。内容包括DevEco Studio安装、OpenHarmony SDK配置、团结引擎集成及项目创建等关键环节,帮助开发者快速搭建高效的开发环境,提升鸿蒙应用开发效率。

weixin_29294395的博客 263

逆变器专题(9)-基于dq坐标系的逆变器解耦控制建模与实时仿真分析

本文深入探讨了基于dq坐标系的逆变器解耦控制建模与实时仿真分析。通过生动的比喻和详细的数学推导,阐述了如何通过坐标变换和前馈补偿实现d轴与q轴的独立控制,从而提升系统动态性能与稳定性。文章还介绍了在MATLAB/Simulink中搭建仿真模型、分析动态响应与稳定性的方法,并展望了硬件在环(HIL)实时仿真的高级验证手段,为新能源并网与电机驱动领域的工程师提供了宝贵的实践指南。

gold的博客 547

vs2005 C# 主窗体和子窗体之间控件相互调用

  vs2005 C# 主窗体和子窗体之间控件相互调用最近工作用到了C#开发Form应用程序,其中用到了主窗体和子窗体之间控件的相互调用。查了一些资料,现在根据自己写的一个小示例总结如下。1.主窗体中调用子窗体控件在主窗体中调用子窗体的控件很简单,只要在主窗体中创建子窗体的时候保留所创建的子窗体对象即可。2.子窗体中调用主窗体控件方法如下:(1)   在主窗体类中定义一

zhangyuanlovelife的专栏 7411

GEOS-Chem笔记——模式下载安装+驱动数据+运行流程

看过我博客的会发现我写了很多CESM的笔记,但是说实话,平时科研我其实更多时候是GEOS-Chemuser。之所以写了很多CESM笔记,其实是因为不会,就边学边写。然后GEOS-Chem已经用比较熟了,所以也没想过做笔记啥的。但是我发现越来越多朋友私信我各种CESM问题,我觉得我可能给大家营造了一种我是CESM达人的错觉。感觉自己有点跑偏了呢。公平起见,我觉得我有必要补充点GEOS-Chem笔记。 GEOS-Chem是研究大气化学的人常用的大气化学传输模式,在全世界范围的大气化学研究组中被广泛使用。不过.

砍柴姑娘Jourosy的博客 1万+

[愚翁专栏]主窗体和子窗体之间如何相互操作对方的控件

主窗体和子窗体之间如何相互操作对方的控件 document.title="主窗体和子窗体之间如何相互操作对方的控件 - "+document.title很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:

一路采撷 1224

Pyrosim进阶指南:从隧道火灾模拟到复杂通风策略分析

本文深入探讨Pyrosim在隧道火灾模拟与通风策略分析中的高级应用。从精确几何建模到火源参数设置,再到通风系统的量化分析,详细介绍了如何利用Pyrosim优化隧道安全设计。特别强调了临界风速验证、横向通风配置及结果可视化技巧,为工程师提供实用的进阶指南。

weixin_30644369的博客 137

【数据分享】中国371个城市的坡度矢量数据和excel数据

在城市发展的进程中,地形地貌始终是影响规划决策的关键因素,而坡度作为表征地表倾斜程度的核心指标,更是贯穿于城市建设、生态保护等诸多环节。本文将全面解读中国 371 个城市坡度数据的相关情况,包括数据概况、生成流程、应用场景等内容,为读者呈现一份详尽的坡度数据指南。

qq_39719713的博客 1844

C#主窗体和子窗体之间如何相互操作对方的控件

原文地址:http://blog.youkuaiyun.com/knight94/archive/2006/03/18/628285.aspx很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:第一种,在主窗体

ltolll的博客(技术版) 4881

SigmaStudio进阶技巧:如何用ADAU1701实现60段EQ与防啸叫算法

本文深入探讨了如何在ADAU1701 DSP芯片上实现专业级音频处理系统。通过精密的资源规划与架构设计,详细讲解了构建高达60段参数均衡器(EQ)的有效方法,并集成了移频与自适应陷波双策略的智能防啸叫算法。内容涵盖从SigmaStudio工程优化、算法模块组合到系统联调实战的全流程,旨在帮助中高级开发者充分利用ADAU1701性能,打造稳定、高效的音频处理解决方案。

weixin_28256233的博客 384

mysql子窗体副窗体_主窗体和子窗体之间如何相互操作对方的控件

很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如:public static yourMainWindow pCurrentWin = null;然后在主窗...

weixin_34406909的博客 224

Spring-AI 第 17 章 - 飞书机器人接入详解

✅ Stream 长连接(官方 SDK)✅ AI 对话(支持工具调用)✅ 消息接收与回复✅ 天气查询✅ 数据库查询✅ 数学计算✅ 事件去重Stream 长连接模式:使用官方 SDK 建立 WebSocket 长连接,服务器主动连接飞书,无需公网 IP消息处理流程:接收消息 → 解析内容 → AI 处理 → 回复用户AI 工具调用:接入 FunctionTools,支持天气、计算、日期、数据库查询等多种工具。

AppBlog.CN全栈架构 210

一篇文章足够你学习Bluez,提供史上最全的Bluez教程,让你告别Bluez从入门到放弃

Bluez是真的难,说“入门到放弃”真的毫不夸张,Bluez的学习曲线陡峭,要求对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度。

朝气蓬勃 2534
上一篇: 如何用C#来部署数据库
下一篇: 如何用C#来部署数据库续
Knight94
博客等级 码龄25年 1013粉丝 87原创
评论 22
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值