问题:
想要自定义用户控件--功能类似tabControl控件的。
改变切换选项卡的方式,自定义成自己想要的效果。
是否可行?
回答1:
可以。
视图树。
了解一下gdi+到控件的实现,具体直接看control源码就行了(视图树wpf、Android甚至游戏视图树这个肯定是差不多的,注意名词的核心是树,视图本身各种模式肯定区别还是比较大,尤其游戏类)。
当然你可以尝试自己实现简单的类似directui,用gdi+,dx,opengl都可以。
核心在于知道视图(树),以及交互、动画的消息或者事件模型。
要实现你想的控件,你可以直接从control实现,也可以用控件组合;控件组合是相对简单粗暴的方式。
回答2:
这就是一个自定义控件!
不使用自定义控件的话自己制定容器的show也是可以的!
回答3:
如果是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窗体