分享
 
 
 

用VB.NET设计各种形状的窗体界面二

王朝c#·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

12. 结合上一节介绍的方法,通过Visual Basic .Net的菜单设计器,按照图08和图09所示的菜单结构设计菜单。

图08:【MDI编程】项目的菜单结构之一

图09:【MDI编程】项目的菜单结构之二

13. 在利用菜单设计器设计完菜单后,分别在窗体中双击"新建"、"退出"、"层叠显示"、"横行平铺"、"纵向平铺"和"排列图标"菜单项,这样Visual Basic .Net会在Form1.vb文件中分别产生这些菜单项的Click事件对应的处理代码。

14. 设定Form1的"IsMdiContainer"属性值为"True",这把Form1窗体定义为MDI窗体容器,这一步设置是后面编程的基础,当设置此属性值后,Form1的窗体也发生了改变,图10是设置此属性后的窗体模样:

图10:把Form1窗体设置为MDI窗体容器后的模样

15. 选中图03中的"窗口"菜单项,并设置此菜单项的"MdiList"属性值为"True"。其作用是当程序运行后,如果新建了一个MDI窗体,就会在"窗口"菜单项后,自动加入一个以新建MDI窗体名称命名的菜单项,如果新建了多个MDI窗体,则会在"窗口"菜单项后,会加入以这些MDI窗体名称命名的菜单项。当MDI窗体被关闭,那些以此MDI窗体命名的菜单项也会自动删除。具体可图06所示。

16. 把Visua Basic .Net的当前窗口切换到Form1.vb的代码编辑窗口,并在定义Form1中组件的代码区加入下列代码,下列代码是定义一个变量,此变量用以统计程序中新建MDI窗体的数量:

Private iFormCount As Integer = 1

17. 用下列代码替换Form1.vb中的MenuItem2的Click事件对应的处理代码,MenuItem2即为图01中的"新建"菜单项,下列代码的作用是在新建一个MDI窗体:

Private Sub MenuItem2_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles MenuItem2.Click

Dim frmTemp As Form = New Form ( )

'新建一个窗体

frmTemp.MdiParent = Me

'为当前创建的窗体设置MDI父窗体

frmTemp.Text = "MDI窗体" + iFormCount.ToString ( )

iFormCount = iFormCount + 1

frmTemp.Show ( )

'把此MDI窗体显示出来

End Sub

18. 用下列代码替换Form1.vb中的MenuItem3的Click事件对应的处理代码,MenuItem3即为图08中的"退出"菜单项,下列代码的作用是退出应用程序:

Private Sub MenuItem3_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles MenuItem3.Click

Application.Exit ( )

'退出应用程序

End Sub

19. 用下列代码替换Form1.vb中的MenuItem5的Click事件对应的处理代码,MenuItem5即为图09中的"层叠显示"菜单项,下列代码的作用是层叠排列窗体中的所有MDI窗体:

Private Sub MenuItem5_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles MenuItem5.Click

Me.LayoutMdi ( MdiLayout.Cascade )

'层叠排列窗体中的所有MDI窗体

End Sub

20. 用下列代码替换Form1.vb中的MenuItem6的Click事件对应的处理代码,MenuItem6即为图09中的"水平平铺"菜单项,下列代码的作用是水平平铺窗体中的所有MDI窗体:

Private Sub MenuItem6_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles MenuItem6.Click

Me.LayoutMdi ( MdiLayout.TileHorizontal )

'水平平铺窗体中的所有MDI窗体

End Sub

21. 用下列代码替换Form1.vb中的MenuItem7的Click事件对应的处理代码,MenuItem7即为图09中的"垂直平铺"菜单项,下列代码的作用是垂直平铺窗体中的所有MDI窗体:

Private Sub MenuItem7_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles MenuItem7.Click

Me.LayoutMdi ( MdiLayout.TileVertical )

'垂直平铺窗体中的所有MDI窗体

End Sub

22. 用下列代码替换Form1.vb中的MenuItem9的Click事件对应的处理代码,MenuItem9即为图09中的"排列图标"菜单项,下列代码的作用是窗体中的所有MDI窗体排列图标:

Private Sub MenuItem9_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles MenuItem9.Click

Me.LayoutMdi ( MdiLayout.ArrangeIcons )

'窗体中的所有MDI窗体排列图标

End Sub

至此【MDI编程】项目的全部工作就完成了,图11、图12和图13是程序运行后的界面

图11:【MDI编程】运行界面之一

图12:【MDI编程】运行界面之二

图13:【MDI编程】运行界面之三

此时我们注意到图13所示的"窗口"菜单中增加许多子菜单,而在程序设计时,并没有处理这些功能的代码。这是由于第十一步中设置"窗口"菜单项的 "MdiList"属性值为"True"造成的,可见正确的设置组件的属性值有时的确能够代替烦杂的代码编写工作。

五:总结:

本文主要内容有二个,其一是介绍的在Visual Basic .Net定制不规则窗体的实现方法。在Visual Basic .Net中创建不规则窗体主要使用的是Region类和GraphicsPath类。GraphicsPath主要是绘制窗体的形状,Region主要是以GraphicsPath来构建窗体。结合本文的实现思路和具体方法,我想对于其他形状的窗体,在掌握GraphicsPath类提供的使用方法的前提下,加上对所要创建不规则窗体的规划设计,用Visual Basic .Net实现起来应该不算很困难。

本文的另外一个主要内容就是介绍在Visual Basic .Net编写MDI应用程序的基本过程、技巧和注意事项。通过本文的介绍可见Visual Basic .Net的MDI编程并没有什么复杂的地方,只需了解一些对MDI窗体处理的方法及其调用方式,当然更重要的是要了解并掌握某些组件的针对MDI的属性及其设置方式。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有