【发布时间】:2015-02-13 21:59:20
【问题描述】:
我有 2 个项目:
- 项目 A 由一个名为 BaseUC 的用户控件组成,该控件由一个 RadPanel 和一个 RadGridView 组成(两者都将修饰符设置为公共)
- 项目 B 包含一个继承自 BaseUC 的用户控件 (来自班级本身)。项目 A 作为引用的 dll 包含在项目 B 中
现在情况是这样的:
- BaseUC 中的两个元素都显示在 DerivedUC 中。
- 我可以在项目 B 中毫无问题地编辑 RadLabel(属性)
- GridView 在项目 B 中的属性显示为灰色
- 如果我给我在项目 A 中实现为虚拟的 GridView 事件并在项目 B 中覆盖它们,我会遇到这样的问题,即我在尝试触发事件时立即收到异常。如果我尝试手动将事件添加到项目 B 中的网格视图,则相同。
所以我的问题是双重的,但归结为基本问题是否可以对视觉继承的 RadGridViews 进行事件处理:
- 如何让 RadGridView 使其属性在项目 B 的设计视图中可编辑?
- 如何处理那里的事件?
如果这两件事都可能的话。
【问题讨论】:
-
UserControl 上的控件事件将主要用于 UserControl。该表单只会查看/访问您在 UserControl 中定义和触发的事件。没有足够的细节可以确定,但美国也可能无法参加 B.A 活动。例如 NumericUpDown 或 ComboBox,它们是复合控件,但 NUD 使用它们的事件并触发与 NUD 相关的新事件(在您的情况下为 UC)。
标签: c# winforms inheritance gridview telerik