WinForm + DevExpress 控件的「完整继承关系」

WinForm + DevExpress 控件的「完整继承关系」

✅ 第一类:DevExpress【可视化控件】→ ✔️ 继承自 Control.Text 属性

这类是你平时最常用的、能直接拖到窗体上的控件,和 WinForm 原生控件一样,100% 继承自Control ,所以必然有.Text属性 :✅ LabelControlSimpleButtonCheckEditGroupControlTextEditComboBoxEditGridControl 等✅ 这类控件:你直接写 control.Text = "内容" 完全生效,没问题。

✅ 第二类:DevExpress【非可视化 / 容器子项控件】→ ❌ 「完全不继承」Control没有 .Text 属性

这是你本次遇到的核心问题!这类控件是 「控件的子元素 / 配置项」 ,不是独立的可视化控件,它们根本不在 Control 的继承链里 ,自然没有 .Text 属性 ,DevExpress 给它们的文本属性命名为 .Caption 而非 .Text

✅ 典型代表(项目里一定会用到,也是你踩坑的控件):
  1. GridColumn :DataGrid 的列标题 → ❌ 无Text ✔️ 有Caption
  2. XtraTabPage :TabControl 的标签页 → ❌ 无Text ✔️ 有Caption
  3. LayoutControlItem :布局控件的文本项 → ❌ 无Text ✔️ 有Caption
  4. NavBarItem :导航栏的菜单项 → ❌ 无Text ✔️ 有Caption
  5. TreeListColumn :树形列表的列标题 → ❌ 无Text ✔️ 有Caption

✅ 补充:WinForm 里也有「特殊控件」→ 继承ControlText属性「无效」

还有一种特殊情况:部分 WinForm 原生控件,虽然继承Control、有.Text属性 ,但这个属性是 「隐藏 / 无效」 的,微软给它设计了专属的文本属性:✅ DataGridViewColumn → 继承Control,有Text,但Text不显示,实际显示用 HeaderText ✅ 这就是为什么我们的框架里还要适配 HeaderText 属性。

相关推荐
m0_736919106 分钟前
C++中的委托构造函数
开发语言·c++·算法
lsx20240621 分钟前
Python3 SMTP发送邮件教程
开发语言
懈尘22 分钟前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言
凉辰25 分钟前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好26 分钟前
05_Java 类加载过程
java·开发语言
PPPPPaPeR.38 分钟前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
橙露41 分钟前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言
froginwe1141 分钟前
C 标准库 - `<float.h>`
开发语言
2501_916008891 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
Dimpels1 小时前
CANN ops-nn 算子解读:AIGC 批量生成中的 Batch 处理与并行算子
开发语言·aigc·batch