C#WinForm技巧“将Form嵌入到Panel”

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
C#WinForm技巧 “将 Form嵌入到 l控件, 但是为了减少主窗体的代码量, 可以将部分分页的功能模块放置于一个 Form 中, 当调用时, 直接把这个 Form嵌入到 一个 Panel中即可.
主窗体中放置一个容器Panel(或者 TabControl的 TabPage):
private FormEmbed frmEmbed = new FormEmbed(); // 全局变量 public Form1() { InitializeComponent(); } // 显示 private void button1_Click(object sender, EventArgs e) { if (frmEmbed != null) { frmEmbed.FormBorderStyle = FormBorderStyle.None; // 无边框 frmEmbed.TopLevel = false; // 不是最顶层窗体 panel1.Controls.Add(frmEmbed); // 添加到 Panel中 frmEmbed.Show(); // 显示 } } // 隐藏 private void button2_Click(object sender, EventArgs e) { if (frmEmbed != null) { frmEmbed.Hide(); } }
示例如下:
要嵌入的 Form:
public partial class FormEmbed : Form { public FormEmbed() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { this.Hide(); // 不能调用 Close 方法, 因为 Close 后Form被释放,就不能再次Show } }
相关文档
最新文档