扫雷游戏制作过程(C#描述):第五节、菜单操作(续)
2017-08-30 23:37
495 查看
前言
这里给出教程原文地址。该项目已经放在github上托管。
发布版已经分享到百度网盘
菜单操作(续)
接着节前一章节的内容,我们继续完善菜单栏的功能。我们首先,先完善Rank的选项,我们希望我们的效果是在我们点击Rank后,能弹出一个窗口,上面显示记录;那么我们就需要建立一个新的窗口,在右侧找到解决方案资源管理器,右击MineSweeper项目名,选择添加,如图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/51164280302e090605c50fa16c99fdc2.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/a4cf16a0ee845a83c1008afc61891a80.png)
找到右下方的属性面板,修改一些属性:
将新建的窗口Icon属性修改为扫雷的图标。
将MaximizeBox属性修改为False。
将Name属性修改为Form_Rank。
将BackColor属性修改为White。
将Text属性修改为MineSweeper。
将FormBorderStyle属性改为FixedSingle。
接着在Rank窗口上做如下操作:
在左边工具箱面板下公共控件中找到Label控件,双击添加到窗口中,Text属性修改为初级:,并移动到合适的位置(中级和高级同理)。
在左边工具箱面板下公共控件中找到textBox控件,双击添加到窗口中,Name属性修改为TextBox_Beginner,并移动到合适的位置(中级和高级同理)。
在左边工具箱面板下公共控件中找到Button控件,双击添加到窗口中,Text属性修改为重置,Name属性改为Reset,并移动到合适的位置(取消同理,Name改为Cancel)。
效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/03e438120e59da860a226357837bb956.png)
现在我们又有三个数据初级记录,中级记录,高级记录需要保存下来,双击Settings,做如下修改:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/025440d798606f54f6dce6a679b88fad.png)
分别双击重置按钮和取消按钮,进入其代码区,进行如下修改:
private void Reset_Click(object sender, EventArgs e) { Properties.Settings.Default.beginner = 999999999; Properties.Settings.Default.intermediate = 999999999; Properties.Settings.Default.expert = 999999999; Properties.Settings.Default.Save(); this.TextBox_Beginner.Text = "999999999"; this.TextBox_Importmediate.Text = "999999999"; this.TextBox_Export.Text = "999999999"; } private void Cancel_Click(object sender, EventArgs e) { this.Close(); }
我们希望Form_Rank窗口在弹出时,便显示数据,所以需要在对其进行初始化:
public Form_Rank() { InitializeComponent(); this.TextBox_Beginner.Text = string.Format("{0}", Properties.Settings.Default.beginner); this.TextBox_Importmediate.Text = string.Format("{0}", Properties.Settings.Default.intermediate); this.TextBox_Export.Text = string.Format("{0}", Properties.Settings.Default.expert); }
现在Form_Rank窗口已经做的差不多了,现在需要在按下菜单栏中的Rank,跳出此窗口,并且此Form_Rank窗口出现在Sweeper窗口的正中央。回到Sweeper.cs,双击菜单栏中的Rank,进入其代码区,做如下修改:
private void RankRToolStripMenuItem_Click(object sender, EventArgs e) { Form_Rank k = new Form_Rank(); int h = (this.ClientSize.Height - k.ClientSize.Height) / 2; int w = (this.ClientSize.Width - k.ClientSize.Width) / 2; k.Show(); k.Location = new Point(this.Location.X + w, this.Location.Y + h); //控制位置 }
运行后效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/f24ff7f851d12605db299a4be41ce741.png)
对于声音Audio,我们需要把声音设置保存到Settings中,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/9adcb7794f7c489398e505e8c6b465b8.png)
双击Audio,进入代码区,做如下修改:
private void AudioAToolStripMenuItem_Click(object sender, EventArgs e) { Properties.Settings.Default.Audio = !Properties.Settings.Default.Audio; AudioAToolStripMenuItem.Checked = Properties.Settings.Default.Audio; Properties.Settings.Default.Save(); }
并在程序开始运行时,需要初始化在函数public Form_Main()增加:
AudioAToolStripMenuItem.Checked = Properties.Settings.Default.Audio; //初始化音量设置
运行效果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/a4c706877d9c7ab24488ac08d4e5e718.png)
双击菜单Help下的about,进入其代码区,做一些修改(此处本人做的粗糙,你可以发挥你的想象力,进行更改)
private void AboutAToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Author: pengpeng\n\nVersion:1.0.1", "about"); }
运行后效果如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/07/08c9ad0fa58a70c3ebc82b5b969bb06d.png)
相关文章推荐
- 扫雷游戏制作过程(C#描述):第四节、菜单操作
- 扫雷游戏制作过程(C#描述):第三节、雷区绘制
- 扫雷游戏制作过程(C#描述):第二节、界面设计
- 扫雷游戏制作过程(C#描述):第一节、创建项目
- 详解从零开始---用C#制作扫雷游戏
- 扫雷游戏制作全过程02 之JLabel弯路
- 扫雷游戏制作全过程 03 时间伪动画
- 扫雷游戏制作全过程00
- 扫雷游戏制作学习过程
- 扫雷游戏制作全过程02 之 JButton 弯路
- 扫雷游戏制作全过程04 添加音乐
- c# 扫雷游戏制作步骤
- 扫雷游戏制作全过程01 地雷生成及表示
- 扫雷游戏制作全过程05 之最终话
- Linux硬Raid安装手记(RAID Driver for Linux 英特尔的readme文件描述了操作过程)
- 使用RAPI库操作移动设备——C#语言描述 (转贴)
- C#制作鹰眼全过程
- C# WinForm开发系列之如何使用panel控件制作左侧导航菜单
- 阻止系统自动睡眠的小软件,附C#制作过程
- C#简单游戏外挂制作(以Warcraft Ⅲ实践)