实例介绍
【实例简介】
拼图游戏,C#做的,拼图时候,需要先打开一张图 就是Open Image,然后 进行拼图操作
【实例截图】
【核心代码】
/// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private Game myGame; private System.Windows.Forms.MainMenu mainMenu; private System.Windows.Forms.MenuItem mnuFilSeparator; private System.Windows.Forms.OpenFileDialog openFileDialog; private System.Windows.Forms.MenuItem mnuGame; private System.Windows.Forms.MenuItem mnuGameOpenImage; private System.Windows.Forms.MenuItem mnuGameScramble; private System.Windows.Forms.MenuItem menuGameExit; private System.Windows.Forms.PictureBox pictureBox; private System.Windows.Forms.MenuItem mnuGameRotate; private System.Windows.Forms.Timer timer1; private System.ComponentModel.IContainer components; public Form1() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // } /// <summary> /// 清理所有正在使用的资源。 /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.mainMenu = new System.Windows.Forms.MainMenu(); this.mnuGame = new System.Windows.Forms.MenuItem(); this.mnuGameOpenImage = new System.Windows.Forms.MenuItem(); this.mnuGameScramble = new System.Windows.Forms.MenuItem(); this.mnuGameRotate = new System.Windows.Forms.MenuItem(); this.mnuFilSeparator = new System.Windows.Forms.MenuItem(); this.menuGameExit = new System.Windows.Forms.MenuItem(); this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); this.pictureBox = new System.Windows.Forms.PictureBox(); this.timer1 = new System.Windows.Forms.Timer(this.components); this.SuspendLayout(); // // mainMenu // this.mainMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.mnuGame}); // // mnuGame // this.mnuGame.Index = 0; this.mnuGame.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { this.mnuGameOpenImage, this.mnuGameScramble, this.mnuGameRotate, this.mnuFilSeparator, this.menuGameExit}); this.mnuGame.Text = "Game"; // // mnuGameOpenImage // this.mnuGameOpenImage.Index = 0; this.mnuGameOpenImage.Shortcut = System.Windows.Forms.Shortcut.CtrlO; this.mnuGameOpenImage.Text = "&Open Image..."; this.mnuGameOpenImage.Click = new System.EventHandler(this.mnuGameOpenImage_Click); // // mnuGameScramble // this.mnuGameScramble.Index = 1; this.mnuGameScramble.Text = "Scramble"; this.mnuGameScramble.Click = new System.EventHandler(this.mnuGameScramble_Click); // // mnuGameRotate // this.mnuGameRotate.Index = 2; this.mnuGameRotate.Text = "Rotate"; this.mnuGameRotate.Click = new System.EventHandler(this.mnuGameRotate_Click); // // mnuFilSeparator // this.mnuFilSeparator.Index = 3; this.mnuFilSeparator.Text = "-"; // // menuGameExit // this.menuGameExit.Index = 4; this.menuGameExit.Text = "E&xit"; this.menuGameExit.Click = new System.EventHandler(this.menuGameExit_Click); // // openFileDialog // this.openFileDialog.Filter = "(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF"; // // pictureBox // this.pictureBox.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; this.pictureBox.Name = "pictureBox"; this.pictureBox.Size = new System.Drawing.Size(488, 296); this.pictureBox.TabIndex = 0; this.pictureBox.TabStop = false; // // Form1 // this.AutoScale = false; this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.AutoScroll = true; this.ClientSize = new System.Drawing.Size(488, 297); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.pictureBox}); this.KeyPreview = true; this.Menu = this.mainMenu; this.Name = "Form1"; this.Text = "拼图"; this.Load = new System.EventHandler(this.Form1_Load); this.ResumeLayout(false); } #endregion /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void mnuGameOpenImage_Click(object sender, System.EventArgs e) { string temp = openFileDialog.FileName; openFileDialog.ShowDialog(this); if (temp == openFileDialog.FileName) return; myGame.LoadImage(openFileDialog.FileName); } private void mnuGameScramble_Click(object sender, System.EventArgs e) { myGame.Scramble(); } private void Form1_Load(object sender, System.EventArgs e) { myGame = new Game(pictureBox); myGame.Success = new SuccessEventHandler(this.SuccessHandler); this.Show(); if (Environment.GetCommandLineArgs().Length==2) myGame.LoadImage(Environment.GetCommandLineArgs()[1]); } private void SuccessHandler(object sender, System.EventArgs e) { MessageBox.Show("You win!!!", "Congratulate"); } private void mnuGameRotate_Click(object sender, System.EventArgs e) { myGame.Rotate = !myGame.Rotate; mnuGameRotate.Checked = myGame.Rotate; } private void menuGameExit_Click(object sender, System.EventArgs e) { this.Close(); } }
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论