C#Windows窗体界面设计_05_添加菜单栏 工具栏 状态栏 按钮

这篇博客介绍了如何在C# Windows窗体应用中添加菜单栏、工具栏和状态栏,以及如何通过它们控制图片的显示和隐藏。首先,调整窗体大小以容纳更多控件,然后分别添加MenuStrip、ToolStrip和StatusStrip控件。接着,调整pictureBox1的位置,并添加两个Button控件,分别为显示和隐藏图片。最后,实现了菜单栏、工具栏按钮的功能,以及状态栏显示当前图片状态。
摘要由CSDN通过智能技术生成

binzhouweichao@163.com

2013-10-17

仍然使用上篇的项目。

实现的作用为:

通过菜单栏,或工具栏,或按钮,实现图片框中图像的显示和隐藏。


1. 更改窗体大小

由于添加的控件比较多,默认的窗体300*300肯定不够用的,需要将窗体大小调大。现更改为800*600。

打开TriPaint.cs[设计]文件,选中窗体,在右下角的属性窗口中,找到Size属性,将值改为:800, 600。


2. 添加菜单栏MenuStrip控件

选中窗体,打开左侧的工具箱,找到MenuStrip控件,点击鼠标左键并拖到窗体中。

菜单栏的默认位置为窗体顶部,默认宽度为24,长度为铺满窗体。第一个添加的MenuStrip控件的名称默认为menuStrip1。在右下角的属性窗口中,可以找到具体的数据,如:

位置Location为:0, 0。也就是说,menuStrip1的右上角(0, 0)位于窗体的右上角(0, 0)位置。

长宽Size为:784, 24。也就是说,menuStrip1的长为784,正好是窗体内容纳控件的最大长度,宽度为24,应该是MenuStrip控件默认的宽度。

其他属性如Margin、Padding默认即可。


3. 添加工具栏ToolStrip控件

同上,在左侧的工具箱中找到ToolStrip控件并拖到窗体中。

工具栏默认位置为菜单栏的下方,与菜单栏边界吻合。默认宽度为25,长度为窗体内控件最大长度,默认名称为toolStrip1。属性中具体数据:

位置Location:0, 24。即紧贴菜单栏。

长宽Size为:784, 25。即长度为784,宽度为25。

其他属性默认。


4. 添加状态栏StatusStrip控件

同上,在左侧工具箱中找到StatusStrip控件并拖动到窗体中。

菜单栏默认位置为窗体最下方。默认宽度22,长度为窗体内控件最大长度,默认名称为statusStrip1。属性中具体数据:

位置Location为:0, 540。也就是状态栏的左上角位于窗体的(0, 540)处。

大小Size为:784, 22。即长度784,宽度22。即最下边界为540+22 = 562处。

整个窗体高600,去掉标题栏和边框,大约有562的高度用来容纳控件。

其他属性默认。


5. 调整pictureBox1的位置

由于原先pictureBox1的位置为(0, 0),加上菜单栏和工具栏后,上面一部分被覆盖掉了,所以重新调整一下位置,让pictureBox1的上边界紧贴工具栏。

通过计算菜单栏和工具栏的高度和,可得图片框的上边界为24+25 = 49,更改图片框的属性:

位置Location为:0, 49。

其他属性不变。


6. 添加按钮Button控件

打开左侧工具箱,找到Button控件,鼠标左键拖到窗体内右侧的空白处。位置随意。默认大小。默认名称为button1。

再添加一个Button控件,位置随意,默认大小,默认名称为button2。

更改按钮的显示文本。

选中button1控件,在右下方的属性窗口中,找到Text属性,更改其值为:Show。

选中button2控件,在右下方的属性窗口中,找到Text属性,更改其值为:Hide。


上述完成后,运行的效果图为:



7. 完善功能

为实现下述功能,需要对pictureBox1.Image反复赋值,其图像为Bitmap b。前面的文件中,将b作为TriPaint_Load()函数的局部变量,为了实现在其他函数中反复调用,需要将其保存为全局变量。这样,在GlobalVars.cs中,把Bitmap b添加进去,代码如下:

        //位图b,为pictureBox1.Image使用的值
        private static Bitmap b = new Bitmap(250, 250);
        public static Bitmap B
        {
            get { return b; }
            set { b = value; }
        }

注:由于pictureBox1为主窗体TriPaint的私有成员,其他类无法访问,所以初始化位图大小时用了具体的数值。若改动了pictureBox1的大小,要记得在此处也将大小改过来。。如果想要把pictureBox1的长宽属性改为public,可以使用委托的方法,或者在主窗口中新建一个类,将这个属性设为public。

参考:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值