关于重写TabControl和TabPage问题

enaking 2008-08-05 11:51:08
我写了一个组TabCtlEx和TabPageEx分别继承于TabControl和TabPage,但是从工具箱拖出来的TabCtlEx或者在TabCtlEx的TabPages属性增加的选项页默认是普通的TabPage类的页面,而我想要的是从工具箱拖到from中后里面的选项页默认就是TabPageEx类的,同样在TabPages属性增加默认也是TabPageEx类的,,各位帮帮我,,,每天晚上来看,,,最迟下周末结贴
...全文
468 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
enaking 2008-08-08
  • 打赏
  • 举报
回复
谢谢各位,, 这两天太忙了,加班啊,,赞同各位的想法,,,如果哪位大哥有重写TabPage属性的例子就分享一下哈,,,7楼的大哥也说得不错,,,晚上回去研究研究
paulin 2008-08-06
  • 打赏
  • 举报
回复
关注~
enaking 2008-08-06
  • 打赏
  • 举报
回复
再补一句,我在网上也看了很多重写TabControl的资料,,,他们要嘛就是手动修改设计器码中的代码,将变量tabPage1的类型改成TabPageEx,要嘛就是只是重写了TabControl,而没有重写TabPage,所以还没找到一个好的办法,等待高手,谢谢
LorenLiu 2008-08-06
  • 打赏
  • 举报
回复
我觉得LZ的问题是在于虽然你继承了TabControl和TabPage,但是TabControlEx的TabPage属性的返回值仍然是TabPageCollection的。所以就不能使用TabControlEx的TabPages属性,而添加一个返回TabPageExCollection的属性TabPageExs。但是如果要真正的实现一个自己的TabControl,我觉得就不要从TabControl继承,而从Control继承,但是那样会有很大的工作量了。
GhostAdai 2008-08-06
  • 打赏
  • 举报
回复
先占个位置接分再看题。
zlkingdom 2008-08-06
  • 打赏
  • 举报
回复
首先还是要先继承吧
在继承的基础上再增加新的属性设置
lovefootball 2008-08-06
  • 打赏
  • 举报
回复
这个你还要继承TabPageCollection,比如叫做TabPageExCollection

然后在你继承的TabControl中public new TabPageExCollection TabPages
由于TabPages不支持直接override所以你得new 一个
老田低代码 2008-08-06
  • 打赏
  • 举报
回复
要默认TabCtlEx增加后默认显示的是TabPageEx的话,那么你应该在TabCtlEx的构造函数中先TabPages.Clear(),然后再初始化两个(或者几个你自己确定)的TabPageEx增加到TabPages中去。。

要TabPages增加后是TabPageEx,那你应该要重写TabPages属性。
lemong 2008-08-06
  • 打赏
  • 举报
回复
没有重载TabPages属性?原来的自然默认是TabPage
你继承之后要重载原来的属性定义和方法定义

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧