为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C#WinForm类似iframe的控件(取巧)

2019-05-28 3页 doc 15KB 64阅读

用户头像

is_686908

暂无简介

举报
C#WinForm类似iframe的控件(取巧)做了几年web前端开发,经常用f r a m e s e t框架,就是先新建一个html文件,然后把页面分成4个部分:head、content、main、foot,然后再分别指向4个单独的html文件。head是最上方的一个banner,content是左边的菜单,多半用tree控件做,中间main是需要显示的主页面,然后用户通过点击左边的content,切换不同的主页面。如下图所示: 最近由于工作需要,我计划开发一个winform程序,用的语言是C#,并且希望能在winform中实现类似于web的f r a m e s ...
C#WinForm类似iframe的控件(取巧)
做了几年web前端开发,经常用f r a m e s e t框架,就是先新建一个html文件,然后把页面分成4个部分:head、content、main、foot,然后再分别指向4个单独的html文件。head是最上方的一个banner,content是左边的菜单,多半用tree控件做,中间main是需要显示的主页面,然后用户通过点击左边的content,切换不同的主页面。如下图所示: 最近由于工作需要,我计划开发一个winform程序,用的语言是C#,并且希望能在winform中实现类似于web的f r a m e s e t的效果,经过研究,总结出了一个比较简洁的方案,效果如下图: 具体的做法是这样,首先创建一个“Windows应用程序”,先删了默认的那个“Form1”文件,然后创建一个叫MainForm的窗体,作为程序的主窗体。然后从控件箱拖3个控件过来:MenuStrip、ToolStrip、StatusStrip。注意要把ToolStrip的Dock改成Left,这样就类似f r a m e的content了。然后把MainForm的“IsMdiContainer”设置成true,意思是可以容纳多个Form对象。 下面我们可以创建一批Form,类似于web程序创建一批aspx文件,每个Form实现不同的功能。这些Form的“FormBorderStyle”都要设置成None,这样就会隐藏最大化最小化那些按钮。另外要把AutoSize设置为true,目的是让Form能自适应主窗体的大小。把“ShowInTaskbar”设置为false。 在这些子Form的Load事件中,添加一个函数,写下这么一句: this.Dock = DockStyle.Fill; 这是为了填满主窗体。 接下来,在主窗体的ToolStrip控件中添加一些按钮,然后编写click这些按钮的函数。在函数中首先需要生成子Form的实例,然后增加关键的一句: form_child.MdiParent = this; 这句代码的意思是,让MainForm包含这个子窗体。 当你在ToolStrip中增加了多个按钮,那么在click按钮时,需要判断一下对应的子Form是不是已经有实例了,如果有,就用form_child.Activate()就能显示这个子Form了。 再往后,我们需要在MainForm的类中写一些public的函数,让子Form可以控制MainForm的StatusStrip,显示一些状态信息。此外,在winform程序的开发中,如果某一个函数的运行时间特别长,就要使用委托的方式来调用,否则就会出现点击一个按钮以后,Form就失去响应了,被block住了。关于委托的使用,我们将在别的文章里讨论。 继续阅读
/
本文档为【C#WinForm类似iframe的控件(取巧)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索