C# WinForm技巧“将Form嵌入到Panel”
来源:互联网 发布:知乎 女生喜欢内射 编辑:程序博客网 时间:2024/04/28 18:56
C# WinForm技巧“将Form嵌入到Panel”
来自:http://greatverve.cnblogs.com/archive/2011/07/11/panel-form.html
虽然有 TabControl控件, 但是为了减少主窗体的代码量, 可以将部分分页的功能模块放置于一个 Form 中, 当调用时, 直接把这个 Form嵌入到一个 Panel中即可.
示例如下:
要嵌入的 Form:
public partial class FormEmbed : Form { public FormEmbed() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { this.Hide(); // 不能调用 Close 方法, 因为 Close 后Form被释放,就不能再次Show } }
主窗体中放置一个容器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(); } }
评论:
嗯,不错,我测试了一下,稍微修改了代码,可以完全释放新增的窗体。
public partial class Form1 : Form{private FormEmbed frmEmbed;//= new FormEmbed(); // 全局变量public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){if (frmEmbed == null){frmEmbed = new FormEmbed();}frmEmbed.FormBorderStyle = FormBorderStyle.None;frmEmbed.WindowState = FormWindowState.Maximized;frmEmbed.TopLevel = false;this.tabPage1.Controls.Add(frmEmbed);frmEmbed.Show();}private void button2_Click(object sender, EventArgs e){if (frmEmbed != null){frmEmbed.Close();frmEmbed.Dispose();frmEmbed = null;}}}
- C# WinForm技巧“将Form嵌入到Panel”
- C# WinForm技巧“将Form嵌入到Panel”
- 将窗体嵌入到Panel
- winform中嵌入窗体到panel
- Form嵌入到Panel里(C#)
- WinForm程序如何将子窗体嵌入到父窗体的Panel里
- WinForm子窗体嵌入到父窗体的Panel里
- C# WinForm中将Form显示在Panel中(C#)
- winform将图片嵌入到exe
- 将MS Word 嵌入C# Winform 中
- WinForm中如何实现嵌入form窗体(panel与子窗体)
- C#操作Word(二)——将Word文档嵌入到WinForm窗体中
- C#将exe运行程序嵌入到自己的winform窗体中
- C#将exe运行程序嵌入到自己的winform窗体中
- C#将exe运行程序嵌入到自己的winform窗体中
- C#操作Word(二)——将Word文档嵌入到WinForm窗体中
- c# winForm 圆角Panel
- c# winForm 圆角Panel
- 基于受约束的分割符分割字符串
- Jquery校验
- C# winFrom 鼠标、键盘监听器
- 前m最大的数 hdu1280 简单哈希
- zend studio 9实用快捷键大全 分享ZEND STUDIO 9的常用快捷键
- C# WinForm技巧“将Form嵌入到Panel”
- 导出的bat文件
- MyEclipse8.5反编译插件的安装步骤
- jquery遍历筛选数组的几种方法和遍历解析json对象
- ADS ARM汇编高亮设置及ADS使用外部编辑器设置
- UITabBarController的使用总结
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)!
- ASINetworkQueue使用cancelAllOperations方法来取消下载时使用的注意点
- 批处理