📄 paneforms.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Mine.UIL
{
public partial class PaneForms : Form
{
/// <summary>
/// Control类的对象
/// </summary>
private Mine.Model.Control control;
System.Windows.Forms.Label label;
System.Windows.Forms.Timer _time;
private bool _succeed=false;
/// <summary>
/// 获取或设置游戏是否成功
/// </summary>
public bool Succeed
{
get { return _succeed;}
set { _succeed = value; }
}
//public System.Windows.Forms.Label labTip = new Label();
public PaneForms()
{
InitializeComponent();
}
/// <summary>
/// 重载构造涵数
/// </summary>
/// <param name="wight">Pane窗体的宽度</param>
/// <param name="hight">窗体的高度</param>
/// <param name="buttonNumber">按钮的个数</param>
/// <param name="mineNumber">雷的个数</param>
public PaneForms(int buttonNumber,int mineNumber, System.Windows.Forms.Label label,System.Windows.Forms.Timer time)
{
InitializeComponent();
//初始化控件
InitializeControl(buttonNumber, mineNumber);
this.label = label;
this.label.Text = mineNumber.ToString();
_time = time;
}
/// <summary>
/// 初始化控件
/// </summary>
/// <param name="wight">窗体宽度</param>
/// <param name="hight">窗体高度</param>
/// <param name="buttonNumber">按钮数目</param>
/// <param name="mineNumber">雷的数目</param>
public void InitializeControl(int buttonNumber,int mineNumber)
{
control = new Mine.Model.Control(buttonNumber, mineNumber);
for (int i = 0; i < control.ButtonNumber; i++)
{
this.panel1.Controls.Add(((Mine.Model.Pane)control._arrayList[i])._button);
}
//设置按钮的事件
ButtonEvents();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
/// <summary>
/// 设置按钮的事件
/// </summary>
public void ButtonEvents()
{
for (int i = 0; i < control.ButtonNumber; i++)
{
System.Windows.Forms.Button button = ((Mine.Model.Pane)control._arrayList[i])._button;
button.MouseDown += new System.Windows.Forms.MouseEventHandler(this.button1_MouseDown);
}
}
/// <summary>
/// 鼠标点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_MouseDown(object sender, MouseEventArgs e)
{
System.Windows.Forms.Button button = (System.Windows.Forms.Button)sender;
//右键点
if (e.Button == MouseButtons.Right)
{
if (button.Image != null && button.FlatStyle != FlatStyle.Popup)
{
button.Image = null;
control.IsSucceed(button) ;
this.label.Text = Convert.ToString(Convert.ToInt32(this.label.Text) + 1);
((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State = "normal";
}
else if (button.Image == null && button.FlatStyle != FlatStyle.Popup)
{
button.Image = global::Mine.Properties.Resources.Marked;
((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State = "marker";
this.label.Text =Convert.ToString( Convert.ToInt32(this.label.Text) - 1);
if (control.IsSucceed1(button) == 0 && Convert.ToInt32(this.label.Text)==0)
{
_time.Stop();
_time.Tag = "0";
MessageBox.Show("您已经排雷成功!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
_succeed = true;
}
}
}
//左键点
if (e.Button == MouseButtons.Left && button.Image == null && ((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State == "normal")
{
if ((string)_time.Tag == "0")
{
_time.Start();
_time.Tag = "1";
}
//button.FlatStyle = FlatStyle.Popup;
//((Mine.Model.Pane)control._arrayList[(int)button.Tag]).State = "open";
//control.DisplayAround((int)button.Tag);
if (((Mine.Model.Pane)control._arrayList[(int)button.Tag]).IsMine == true)
{
control.DisplayAll();
_time.Stop();
_time.Tag = "0";
MessageBox.Show("您已经挂了,嘿嘿!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
switch (((Mine.Model.Pane)control._arrayList[(int)button.Tag]).PaneNumber)
{
case 1: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button1;
((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 2: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button2; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 3: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button3; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 4: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button4; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 5: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button5; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 6: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button6; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 7: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button7; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 8: ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Image = global::Mine.Properties.Resources.button8; ((Mine.Model.Pane)control._arrayList[(int)button.Tag])._button.Enabled = false; break;
case 0: control.DisplayAround((int)button.Tag); break;
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -