C#如何做一个类似tabControl控件的用户控件

2020-11-09 14:57发布

想要自定义用户控件--功能类似tabControl控件的。
改变切换选项卡的方式,自定义成自己想要的效果。
是否可行?

3条回答
Deceive 欺骗
2楼-- · 2020-11-09 15:40

可以。

视图树。

了解一下gdi+到控件的实现,具体直接看control源码就行了(视图树wpf、Android甚至游戏视图树这个肯定是差不多的,注意名词的核心是树,视图本身各种模式肯定区别还是比较大,尤其游戏类)。

当然你可以尝试自己实现简单的类似directui,用gdi+,dx,opengl都可以。

核心在于知道视图(树),以及交互、动画的消息或者事件模型。

要实现你想的控件,你可以直接从control实现,也可以用控件组合;控件组合是相对简单粗暴的方式。

查看更多
闹够了就滚
3楼-- · 2020-11-09 15:40

这就是一个自定义控件!

不使用自定义控件的话自己制定容器的show也是可以的!

查看更多
我想做一个坏孩纸
4楼-- · 2020-11-09 15:54

如果是wpf,重写一下默认控件的模板也许可以。如果是winform,实现方式应该也很多。我想到第一个办法是:写N个自定义控件,放到一个容器里(右边)。左边点击按钮时,用代码替换容器里的自定义控件:伪代码如下:

btn1.click += function()
{
     this.container.children.remove(0);
     this.container.chidren.Add(a);
}
btn2.click += function()
{
     this.container.children.remove(0);
     this.container.chidren.Add(b);
}

或者是设置自定义控件是否可见
---or---
或者用mdi窗体

查看更多
登录 后发表回答