无奈的.net探索


MDI和在TabPage中增加Form分页?

MDI(Multiple Document Interface)是一种在窗口中嵌套窗口的接口, 与之对应的是SDI(Single Document Interface).

需要注意的是:

1 在FatherForm中将属性IsMDIContainer设置为True.

2 FatherForm中增加一个MenuStrip, 其中增加一个button. 其中的click事件中, 增加代码为

public void button_click(Sender object, ClickArges e)
{
ChildForm c1 = new ChildForm();
c1.MdiParent = this;
c1.Show(); ChildForm c2 = new ChildForm();
c2.MdiParent = this;
c2.Show(); // 窗口的排列方式
LayoutMdi.layout(MdiLayout.TileHorizon);
}

类似的, 如果想将一个Form作为一个页面放入一个TabControl或者类似的PageContainer中. 需要做的是

Form page_form = new PageForm();
page_form.TopLevel = false;
page.Controls.Add(page_form);
page_form.Show();

一般地是把Form当作是TopLevel的控件的, 但是依然可以将其作为一个普通的控件来用, 否则会报错, 不能将顶级元素应用在Container中.

最新文章

  1. java并发编程:并发容器之CopyOnWriteArrayList(转)
  2. shell之脚本片断
  3. [转载]EF Code First 学习笔记:约定配置
  4. 一种好的持久层开发方法——建立BaseDao和BaseDaoImpl
  5. LINUX 笔记-ln 命令
  6. 初探Java多线程
  7. Activity的运行过程
  8. 【Spring】6、注解大全
  9. Virtual Memory is deprecated in Redis 2.4
  10. mouseover、mouseout与mouseenter、mouseleave
  11. vue axios拦截器 + 自编写插件 实现全局 loading 效果;
  12. HTTP协议(二)之确保web安全的HTTPS
  13. vue.js环境配置步骤及npm run dev报错解决方案
  14. windows下更改鼠标滚轮方向
  15. tryparse
  16. (GoRails) 如何去掉form输入框头尾的空格;何时用callbacks,gem;
  17. 27、ArrayList和LinkedList的区别
  18. 微信内置的浏览器window.location.href 跳转不兼容问题
  19. JVM jmap
  20. C# 实现程序只启动一次(实现程序自重启)

热门文章

  1. 3.11-3.14 Hive 企业使用优化2
  2. 3.4-3.6 Hive Storage Format
  3. 【eclipse插件开发实战】 Eclipse插件开发6——eclipse在线翻译插件Translator开发实例详解
  4. 3-3Java程序的结构
  5. UVa 1631 Locker (DP)
  6. codeforces 813C The Tag Game 树+dfs追击问题
  7. __doPostBack方法解析 __VIEWSTATE __EVENTTARGET __doPostBack __EVENTARGUMENT
  8. Jmeter + Junit
  9. E20180513-hm
  10. 渲染路径-实时渲染中常用的几种Rendering Path