大家在很多软件当中都会看到许多控件元素,那么这些复杂或者是漂亮的元素是如何实现的呢,当然有它自己实现的方式和方法了。
![6cd047c709da0ccb3f78f887f19c34b5.png](https://i-blog.csdnimg.cn/blog_migrate/216ed53664fc82a4bd936418dad6b091.jpeg)
从上面的软件界面可以看到里面有"菜单元素",其实菜单是程序开发中经常用到的界面元素,因为它可以使用户操作软件更方便和快捷,大大提高了操作的工作效率,所以菜单元素应用在程序界面中是非常普遍的。
那么,我们先来看看下面这个窗体界面中"菜单元素"在VB环境下和C#环境下是怎么设计制作出来的。
Visual Basic环境下
同样在上一期新建工程和窗体的基础上,添加一个新的窗体,我们在新添加的form2窗体上来完成菜单的制作。
![a5cce3d22c1f840c5f00dea893285f2a.png](https://i-blog.csdnimg.cn/blog_migrate/4765e2084864e88627f9ab6c57a3fad2.jpeg)
![3d5199e492285a77f0a36857cf06dc1f.png](https://i-blog.csdnimg.cn/blog_migrate/60f0ea3d1e154906a0e7b7da337d85b7.jpeg)
添加完窗体后,双击form2窗体,可以看到是一个空白的窗体,里面什么都没有。
![154a559273362cc6dc677686d87a72d8.png](https://i-blog.csdnimg.cn/blog_migrate/be953b6545252ac495b41719b3fd273e.jpeg)
首先,选择工具中的菜单编辑器
![ee29fe95423689307eb1a327aa299d2a.png](https://i-blog.csdnimg.cn/blog_migrate/69413fcba5ac0c9f8cf8fa720054a802.jpeg)
在弹出的菜单编辑器中进行制作和设计,标题栏写上"文件",名称随意写
![341ff79f8c67de6d5f98c08e23a34fe4.png](https://i-blog.csdnimg.cn/blog_migrate/216005d63522416592099507a0f110c2.jpeg)
完成添加一项后,点击下一个继续如此添加多个菜单选项,在添加到功能时,我们想插入一个子菜单,只需要点击上面的右向箭头即可。这里面我们插入了"面积计算"子菜单,它表示功能菜单下的子菜单
![2ad3bfe1a28cdeea233da8e24ace2cd5.png](https://i-blog.csdnimg.cn/blog_migrate/1f7a723bb2830fef995287392953360b.jpeg)
点击确定后,可以看到窗体界面上出现了菜单栏
![61ef5df23de9f29d4aa881e461f6c01e.png](https://i-blog.csdnimg.cn/blog_migrate/3815cd1d0a302b96fc4db4d2172d45b2.jpeg)
当用鼠标点击功能菜单时,则出现了"面积计算"子菜单
![7e60ab1ae12efadd759f4a11846c0f9a.png](https://i-blog.csdnimg.cn/blog_migrate/ae695fb30c5a56724fe921814de7825b.jpeg)
到此,我们的目的想必大家都猜到了,就是通过功能菜单下的"面积计算"子菜单,来调用上一期编的计算面积的小程序
![215e7a774e6630c4c0abb2434bb85d14.png](https://i-blog.csdnimg.cn/blog_migrate/1833561c4c9ab6b51ce165139e68780f.jpeg)
接下来就是添加代码了,单击"面积计算"子菜单后,弹出下面的代码窗口
![05acc7e077b744ae235c39a9e941c29e.png](https://i-blog.csdnimg.cn/blog_migrate/6957b81a2f09ef00b1e0846673426d05.jpeg)
键入如下代码:Form1.Show
![1421dd5ccd5988b90c229c69aa81f800.png](https://i-blog.csdnimg.cn/blog_migrate/bda20dfb2571b2d8f474dc6f7a175386.jpeg)
大家是不是惊奇了,是不是都感慨代码太短了,没错,就是这么短,下面来运行程序,不过在运行程序之前,再做一个有关启动窗体的操作,右键工程选属性,将启动对象设置为form2后,程序默认启动对象为我们后添加的窗体,否则窗体会启动form1
![bd88a995976fedd5a9a6d3e8d5b66af9.png](https://i-blog.csdnimg.cn/blog_migrate/cad70af2afe4ba5c2fa9ea7607bebf95.jpeg)
![7ef6471479a5986a97b5d3d5be389408.png](https://i-blog.csdnimg.cn/blog_migrate/69ff260dfe014e8f4a0d1c1437a7173c.jpeg)
运行程序后,点击功能菜单下的"面积计算"吧
![b56ad166482dd58c91ff433307ac4a25.png](https://i-blog.csdnimg.cn/blog_migrate/961a16492e456781b4aeb5a7f45b0254.jpeg)
则弹出了上一期编的计算面积的小程序了,我们可以输入数据进行计算了,可见菜单的作用是显而易见的,它可以帮助我们来读取各种数据文件,还可以调用其它窗体或者程序模块,而我们现在做的是最简单的菜单,其实我们还可以做一个带图标的程序菜单,要比这个漂亮多了,至于如何制作带图标的菜单,我们今后再学习如何利用API函数将图标添加到菜单上
![bb3b1f14b913893b35cb78cf7d539ef3.png](https://i-blog.csdnimg.cn/blog_migrate/bd890634106f353b088dd72fc355b487.jpeg)
Visual C#环境下
我们同样在上一期程序的基础上添加一个新的窗体form2
![4c840fac4e270f3ca52c480ac319f2c1.png](https://i-blog.csdnimg.cn/blog_migrate/444d120bbff8f46867df2a305dcf66a5.jpeg)
打开新的窗体后,在左侧的工具箱内找到MenuStrip控件后,双击自动进入到窗体
![36d7e031bf119240d09f49476bd40198.png](https://i-blog.csdnimg.cn/blog_migrate/0d050a813a562e2ab01844e697ee875e.jpeg)
和VB的区别在于,在C#中,我们可以直接在窗体上进行菜单标题的输入和更改,更方便,设置完成后点击面积计算子菜单进入代码窗口,写入如下代码
Form1 frm1 = new Form1():将Form1窗体进行实例化,实例化为frm1,也就是给它起个正规名称,这样后面才能够识别它就是代表Form1窗体
frm1.Show ():将实例化后的frm1进行显示,目的是显示Form1窗体,这里面和VB有些区别,大家仔细体会
![49e3c305abaf8958eeae556af4fe14ec.png](https://i-blog.csdnimg.cn/blog_migrate/236390802f762745e1932a6974e3bfa4.jpeg)
加完代码后,就可以运行程序了,不过在运行程序之前我们默认的启动窗体依然是Form1,我们要将启动的窗体改成Form2,怎么改,这和VB不大一样,不过也不难,双击右侧窗口的Program.cs后,将Application.Run(new Form1())改成Application.Run(new Form2())就OK了
![213853810ec2aa2863a12a754a1c0cb8.png](https://i-blog.csdnimg.cn/blog_migrate/4271198e44f6f2dd883fc74bfa31c094.jpeg)
改后,首先启动的窗体就变成Form2了
![825c83ae102875846659c70b26d8257f.png](https://i-blog.csdnimg.cn/blog_migrate/3847c490e196b61b17ac63a9799d962c.jpeg)
这回运行程序吧,点击功能菜单下的"面积计算"
![d4eb36bf32a96080c8ba0d8b188d4ee8.png](https://i-blog.csdnimg.cn/blog_migrate/10dee3720d400e4e92731e702da0db0b.jpeg)
弹出了上期编好的小程序,实现了通过菜单对窗体进行调用了,其实一点都不难,人人都不傻,只要想会就必然能学会
![5c5845571505dc188e7ebfd005259ddc.png](https://i-blog.csdnimg.cn/blog_migrate/4c0f4a0df4495b060bf5f6e133980cf1.jpeg)