提问:tabcontrol中tabpage与form嵌套

6lilu9 2018-12-27 11:58:33
我来发一个帖子,问个思路,如果高手有现成代码可以让本人不劳而获,跪谢。

想达到这样一个效果:
在tabcontrol下面有3个tabpage,在tabpage2中加载的是一个窗体form1,现在想达到这样一个效果,在tabpage2的左上方放一个全屏按钮,当点击这个按钮时,form1就会跳出tabpage2 呈现全屏效果;同时form1上也有一个缩小按钮,当点击这个按钮时,form1就会回到tabpage中,就是相当于视频播放器的弹出效果。
请问高手如何达到,谢谢。
...全文
280 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilunlil 2018-12-30
  • 打赏
  • 举报
回复
tabcontrol不能变大吗?
  • 打赏
  • 举报
回复
视频播放器,人家也是播放器里边的用户(视区)控件放到不同的外壳中。你先要有一个可以放到不同容器的用户控件,才好纠结动态潜入不同皮毛的代码。
  • 打赏
  • 举报
回复
加载用户控件,而不是什么窗体。你可以把用户控件拖到你的窗体中即可。UI 设计的核心是用户控件,不要总想着窗体。
xuzuning 2018-12-27
  • 打赏
  • 举报
回复
我不知道你是如何将 form1 放到 tabpage2 中去的(你没有说)
正常情况下是 tabpage2.Controls.Add(form1)
那么从 tabpage2.Controls 中移去(出) form1 并不是什么问题
form1 摆脱 tabpage2.Controls 的制约后,想怎么就怎么,也不是什么问题
重新回到 tabpage 的怀抱,自然需要 tabpage 是可访问的(无论什么形式)
SoulRed 2018-12-27
  • 打赏
  • 举报
回复
试试继承对话框组件类。
重写其中你需要的方法。
我觉得应该OK
6lilu9 2018-12-27
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
我不知道你是如何将 form1 放到 tabpage2 中去的(你没有说) 正常情况下是 tabpage2.Controls.Add(form1) 那么从 tabpage2.Controls 中移去(出) form1 并不是什么问题 form1 摆脱 tabpage2.Controls 的制约后,想怎么就怎么,也不是什么问题 重新回到 tabpage 的怀抱,自然需要 tabpage 是可访问的(无论什么形式)
我明白你的思路了, 点击全屏按钮后,tabpage所在的窗体hide,然后再new form1()一个新实例,全屏窗口显示; 点击缩屏按钮后,new form1()一个新实例所在窗体hide,刚才那个hide显示。 一会我试试,理论上应该可行,谢谢
平底锅锅锅 2018-12-27
  • 打赏
  • 举报
回复

private void UIDisplay()
{
//formUI 你的窗体
if (formUI == null || formUI.IsDisposed)
{
formUI = new Form();
}
formUI.TopLevel = false;
formUI.FormBorderStyle = FormBorderStyle.None;
formUI.Dock = DockStyle.Fill;
(你的TabPage).Controls.Add(formUI);
formUI.Show();
}

其它的,动态设置Location等属性即可实现。
良朋 2018-12-27
  • 打赏
  • 举报
回复
放不进去的, 你可以用panel里放tab怕个,然后用hide, show 来调换。

110,535

社区成员

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

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

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