自定义类获取主窗口控件引用

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

我想要在自定义类中获取主窗口的控件imageList1

好了  我就直接在自定义类构造函数中这样写到:

public class Class1    {
        Form1  m_ref_form;
        ImageList imageList1;
        public Tab1Click(Form1 in_form)
        {
            m_ref_form = in_form;
            imageList1=m_ref_form.imageList1;
        }

自认为能够成功的访问到了,结构报错啦。

好吧 ,我们来看看在主窗口中我拖进去的imageList1控件的声明定义,是私有的啊:

                                    private System.Windows.Forms.ImageList imageList1;

那是不是我在主类中声明一个public 的ImageList,命名为imgL,并将imageList1赋给它,这样就行了?那么修改为:

public class Class1    {
        Form1  m_ref_form;
        ImageList imageList1;
        public Tab1Click(Form1 in_form)
        {
            m_ref_form = in_form;
            imageList1=m_ref_form.imgL;
        }

啊  的确可以。但是想想,这样会不会安全性不高。

作为一个初学菜鸟  很多很多不懂  有人有更好的方法吗   求解害羞

 

Qt自定义控件工程化:UI封装与跨组件信号通信 自定义控件是GUI开发中实现UI抽象、职责分离与模块复用的核心技术,其本质在于将一组语义明确的界面元素及其交互逻辑封装为独立可复用的类,通过信号槽机制对外暴露有限接口。在Qt框架下,类提升(Promotion)机制打通了可视化设计与C++代码的桥梁,使Designer中拖入的基础容器能安全转换为自定义类型指针,支撑嵌入式HMI等资源受限场景下的高内聚低耦合架构。该技术显著提升可维护性、单元测试可行性与跨界面复用率,广泛应用于工业控制、医疗设备及车载终端等Qt嵌入式项目。本文聚焦Qt自定义控件的完整落地路径, 阅读详情

相关推荐

XAML映射使用以及Window窗体属性

编写WPF中的Windows桌面应用程序,需要用到XAML这种可扩展应用程序标记声明性质的XML语法。XAML通常用来方便我们描述对象和属性的层次结构。当然XAML能实现的东西同样也是可以用C#语法去编译实现,但是相对主要以命令式程序编译的C#来说,XAML可以用声明的方法对程序代码进行编译,属实灵活得多。对于XAML的作用,首先我们就需要了解到XAML元素一般映射到.NET类和Windows R...

老夫的少女心 1399

winform 子窗体调用主窗体的方法

1.主窗体 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(); fr

songjuntao8的专栏 1427

LabVIEW登录界面开发:从密码掩码到事件驱动状态机的完整实现

在软件开发中,用户认证与权限管理是保障系统安全的基础模块,其核心原理在于验证用户身份并控制资源访问。密码掩码技术作为认证过程的关键环节,通过隐藏明文输入来提升安全性,是用户界面设计的通用实践。在LabVIEW图形化编程环境中,实现这一功能需要深入理解其事件驱动架构和控件属性机制。通过自定义VI构建独立登录窗口,开发者能够完全掌控UI布局,并利用字符串控件的“密码显示”属性原生支持掩码,这解决了传统“提示用户输入”函数无法定制界面的痛点。采用事件驱动状态机模型处理用户交互,不仅确保了程序响应的流畅性,还便于集

weixin_30274627的博客 543

通过窗口句柄获取控件信息

通过句柄获取控件信息

Tiger_shl的博客 3278

C# WPF 访问自定义控件内自定义模板中的子控件

转载https://jingyan.baidu.com/article/acf728fd99706ff8e410a340.html 如何创建组合控件,可以自行百度,本章主要介绍如何访问子控件。 例如我们创建了这么一个自定义控件"datatemplate2",添加一个 Loaded="inputText_load"事件。 <DataTemplate x:Key="datatemplate2"...

weixin_42974146的博客 2452

WPF绘制自定义窗口

WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下:   界面不难,主要有如下几个要素: 窗体的圆角 自定义标题栏及按钮 自定义状态栏 窗体的半透明效果 窗体4周有一圈半透明阴影(抓的图上看不出来) 实现思路很简单,首先隐藏默认窗口的标题栏和边框,然后用WPF的Border或Canvas等元素模拟定义窗体的标题栏、内容区和状态栏。 具体实...

cuoban的学习空间 1581

【Qt主界面显示子界面内容】

1、自定义好类2、打开Qt Designer,创建一个主窗口(MainWindow)。在窗口中添加一个QWidget控件,这个控件将用于提升为你的自定义类。3、右键点击这个QWidget控件,选择“提升为…”。4、在弹出的对话框中,输入你的自定义类的名称(例如MyCustomWidget),并点击“添加”按钮。确保你的自定义类在列表中,然后点击“提升”按钮。

pei12010342的博客 468

C# WinForms 多窗口通信:主窗口与子窗体的跨线程通信与UI更新

推荐使用事件委托模式,耦合度低且易于扩展。对于复杂项目可结合接口实现双向通信。

2501_93877286的博客 414

MFC标签控件 CTabCtrl

CTabCtrl 标签页使用 引用 TabSheet.h .cpp 添加到项目中 拖入控件 tab ctrl 添加变量  类型 TabSheet类型 创建两个 标签页  属性 border 改为 none  style 改为 child 标签页 添加类 主窗口中  添加标签 m_tab.AddPage(TEXT("系统设置"), &amp;dlg1, IDD_DIALOG...

量子象限 1055

Qt自定义类设计:QObject与QWidget继承选择及信号槽实战

在C++面向对象编程中,类的继承设计是构建复杂软件系统的基石。Qt框架通过其独特的元对象系统(Meta-Object System)扩展了C++的能力,其中QObject作为非可视化对象的基类,提供了信号与槽(Signals & Slots)这一强大的对象间通信机制,以及基于对象树的自动内存管理。这一设计使得程序组件能够以松耦合的方式进行交互,极大地提升了代码的可维护性和可扩展性。在GUI开发领域,QWidget继承自QObject,并在此基础上增加了可视化、事件处理和布局管理等图形界面功能,成为构建用户界

weixin_34062469的博客 420

MFC 获得窗口句柄问题大全

最近有些人在问MFC编程一些要点,有一些句柄的获取、指针的获取是常见的问题,本文将对这些问题做以解释,参考了前人的笔录(见reference),希望能够帮助大家更方便地进行MFC程序开发。        一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和句柄获取和操作问题。本文中将针对各类句柄的获得、指针的获得以及M

请叫我小明 (坐标:西安) 1065

深入理解 Qt 系统托盘图标:创建自定义的系统托盘图标类

在现代桌面应用程序中,系统托盘图标(通常位于任务栏右下角)是一个常见的交互方式。它为用户提供了快捷的操作界面,如显示应用程序、退出程序、查看通知等。在 Qt 中,类允许我们轻松地在系统托盘中添加图标并与用户交互。今天,我们将介绍如何创建一个自定义的系统托盘图标类,使其能够响应用户的点击事件,并显示一个右键菜单。我们创建了一个名为的类,继承自,并实现了一些附加功能,如响应用户的点击事件、弹出右键菜单等。在这篇博客中,我们创建了一个名为的自定义系统托盘图标类,它继承自设置托盘图标。

qq_35803412的博客 1121

pyqt5笔记 — 重写窗口方法closeEvent()的两种方式

@[TOC](pyqt5笔记 — 重写窗口方法closeEvent()的几种方式) 一、重写的作用 在开发过程中,经常会遇到一种需求:服务器端在主动发出一些信息给客户端,而在用户端关闭UI的时候,需要通知服务器端这个用户已经断开了,不用再给这个用户发送了,而用户端在关闭的时候往往都是最简单的右上角X,用户在点击右上角的关闭键时会自动触发窗口的closeEvent()事件,而窗口原本的closeEv...

HHKJ 的博客 1万+

QT实现照片查看器

QT实现照片查看器

希望我的博客,能帮上你解决学习中工作中所遇到的问题 2276

QT样式动画实战:利用QPropertyAnimation实现控件背景色平滑渐变

在桌面应用开发中,属性动画是实现平滑UI过渡的核心技术。其原理是通过插值器在动画持续时间内,对目标对象的属性值进行连续计算与更新,从而驱动视觉变化。这项技术的价值在于能够显著提升用户体验,使界面交互更加自然流畅,广泛应用于按钮状态切换、数据可视化、主题切换等场景。QPropertyAnimation作为Qt框架内置的动画引擎,通常用于操作几何属性,但面对样式属性动画这一常见需求时,开发者常遇到瓶颈。本文聚焦于如何通过声明自定义Q_PROPERTY,将QColor等可插值类型与样式表动态绑定,从而巧妙地扩展Q

weixin_34414650的博客 373

关于MFC的消息机制学习心得(MFC不懂MFC消息是啥那就等于0)求知的朋友看过来!

首先声明,本人在学习阶段,所以所讲之处!难免会出错且啰嗦,本文旨在跟大家分享近期对iocp(window高并发服务器编程)之 MFC界面程序消息传送的几点心得。大神欢迎大家喷我。 先为大家介绍一个c++高并发的大神群! 群主非常热情,而且技术实力雄厚。只要大家能虚心学习,群主每天群里分享面试以及编程经验。欢迎加入QQ群49114021 名字是高性能服务器开发 群主 范蠡³² 教授级大神。 ...

a3396616601的博客 319

Qt与Halcon图像显示集成:从数据转换到交互控件的完整实践

在机器视觉与工业自动化领域,图像显示是连接算法与用户交互的基础环节。其核心原理在于打通不同图像库之间的数据流与渲染管道,实现内存数据的高效转换与可视化。这一过程的技术价值在于为复杂的视觉应用提供稳定、可交互的GUI基础,直接影响实时性、精度与用户体验。常见的应用场景包括高分辨率图像处理、实时视频流分析、ROI交互以及测量检测系统。针对Halcon与Qt的集成,关键在于解决HObject与QImage/QPixmap之间的数据转换,并构建支持缩放、平移等高级功能的显示控件。本文通过详细的代码示例,深入探讨了内

chuannaoxuan4674的博客 296

Qt QStackedWidget页面切换实战:从原理到完整Demo实现

在桌面应用开发中,多页面界面管理是构建复杂软件架构的基础需求。Qt框架作为跨平台C++图形用户界面应用程序开发的主流选择,提供了多种实现页面切换的组件。其中,QStackedWidget以其纯粹的容器特性和灵活的编程控制能力脱颖而出,成为管理多个子页面的核心工具。其工作原理是通过维护一个页面堆栈,每次仅显示其中一个子部件,开发者通过代码控制当前显示页面的索引,实现视图切换。这种机制在内存管理上具有优势,所有页面在初始化时创建,按需显示,避免了频繁创建销毁的开销,尤其适合需要快速切换、页面初始化成本较高的场景

459
上一篇: OleDbCommand与OleDbCommandBuilder、OleDbDataAdapter、OleDbDataReader的关系
下一篇: 无法获取控件的窗口句柄和不支持无窗口的 ActiveX 控件
麦田JOY
博客等级 码龄16年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值