掃雷游戲制作過程(C#描述):第五節、菜單操作(續)


前言

這里給出教程原文地址
該項目已經放在github上托管。
發布版已經分享到百度網盤

菜單操作(續)

接着節前一章節的內容,我們繼續完善菜單欄的功能。
我們首先,先完善Rank的選項,我們希望我們的效果是在我們點擊Rank后,能彈出一個窗口,上面顯示記錄;那么我們就需要建立一個新的窗口,在右側找到解決方案資源管理器,右擊MineSweeper項目名,選擇添加,如圖所示:

找到右下方的屬性面板,修改一些屬性:

  • 將新建的窗口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)。

效果如下:

現在我們又有三個數據初級記錄,中級記錄,高級記錄需要保存下來,雙擊Settings,做如下修改:

分別雙擊重置按鈕和取消按鈕,進入其代碼區,進行如下修改:

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); //控制位置
}

運行后效果如下:

對於聲音Audio,我們需要把聲音設置保存到Settings中,如下圖:

雙擊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; //初始化音量設置

運行效果如下:

雙擊菜單Help下的about,進入其代碼區,做一些修改(此處本人做的粗糙,你可以發揮你的想象力,進行更改)

private void AboutAToolStripMenuItem_Click(object sender, EventArgs e)
{
	MessageBox.Show("Author: pengpeng\n\nVersion:1.0.1", "about");
}

運行后效果如下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM