⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamenewdialog.cs

📁 winmobile图形操作代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
         this.Controls.Add(this.label5);
         this.Controls.Add(this.panelE);
         this.Controls.Add(this.panelD);
         this.Controls.Add(this.panelC);
         this.Controls.Add(this.panelB);
         this.Controls.Add(this.panelA);
         this.Controls.Add(this.panel5);
         this.Controls.Add(this.panel4);
         this.Controls.Add(this.panel3);
         this.Controls.Add(this.panel2);
         this.Controls.Add(this.panel1);
         this.Controls.Add(this.label4);
         this.Controls.Add(this.label3);
         this.Controls.Add(this.textPlayer2);
         this.Controls.Add(this.textPlayer1);
         this.Controls.Add(this.label2);
         this.Controls.Add(this.label1);
         this.Menu = this.mainMenu1;
         this.Text = "Jasper\'s Dots - New Game";
         this.Closing += new System.ComponentModel.CancelEventHandler(this.GameNewDialog_Closing);
         this.Load += new System.EventHandler(this.GameNewDialog_Load);
         this.Closed += new System.EventHandler(this.GameNewDialog_Closed);
         this.Paint += new System.Windows.Forms.PaintEventHandler(this.GameNewDialog_Paint);

      }
      #endregion

      private int iColor1;
      private Color clr1;
      private int iColor2;
      private Color clr2;
      public int cxWidth;
      public int cyHeight;

      private void 
      GameNewDialog_Load(object sender, EventArgs e)
      {
         iColor1 = 0;
         iColor2 = 1;

         formParent.Visible = false;
      }

      private void 
         GameNewDialog_Closed(object sender, EventArgs e)
      {
         formParent.Visible = true;
      }

      private void 
      GameNewDialog_Closing(object sender, CancelEventArgs e)
      {
         // Make sure players each have a different color.
         if (iColor1 == iColor2)
         {
            MessageBox.Show("Players picked the same color.\n" +
               "Please pick a unique color for each player.", 
               "JaspersDots");
            e.Cancel = true;
         }

         // Make sure game board is no larger than 9x11
         int cx;
         int cy;
         try
         {
            cx = int.Parse(textWidth.Text);
         }
         catch
         {
            cx = -1;
         }

         try
         {
            cy = int.Parse(textHeight.Text);
         }
         catch
         {
            cy = -1;
         }

         if (cx <= 0 || cy <= 0)
         {
            MessageBox.Show("Bad grid size -- switching to 8x8", "JaspersDots");
            cx = 8;
            cy = 8;
         }

         if (cx > 11)
         {
            MessageBox.Show("Max width is 11", "JaspersDots");
            e.Cancel = true;
            return;
         }

         if (cy > 9)
         {
            MessageBox.Show("Max height is 9", "JaspersDots");
            e.Cancel = true;
            return;
         }

         cxWidth = cx;
         cyHeight = cy;

         formParent.players = new Players();
         formParent.players.clr1 = clr1;
         formParent.players.clr2 = clr2;
         formParent.players.strName1 = textPlayer1.Text;
         formParent.players.strName2 = textPlayer2.Text;
      }


      private void 
      Panel1_Click(object sender, EventArgs e)
      {
         if (sender == (object)panel1)
            iColor1 = 0;
         else if (sender == (object)panel2)
            iColor1 = 1;
         else if (sender == (object)panel3)
            iColor1 = 2;
         else if (sender == (object)panel4)
            iColor1 = 3;
         else if (sender == (object)panel5)
            iColor1 = 4;
         
         // Redraw window
         Invalidate();
      }

      private void 
      Panel2_Click(object sender, EventArgs e)
      {
         if (sender == (object)panelA)
            iColor2 = 0;
         else if (sender == (object)panelB)
            iColor2 = 1;
         else if (sender == (object)panelC)
            iColor2 = 2;
         else if (sender == (object)panelD)
            iColor2 = 3;
         else if (sender == (object)panelE)
            iColor2 = 4;
         
         // Redraw window
         Invalidate();
      }

      private void 
      GameNewDialog_Paint(object sender, PaintEventArgs e)
      {
         Panel panel = panel1;
         
         //
         // Player 1
         //
         // What is current player 1 panel?
         switch(iColor1)
         {
            case 0: 
               panel = panel1;
               break;
            case 1: 
               panel = panel2;
               break;
            case 2: 
               panel = panel3;
               break;
            case 3: 
               panel = panel4;
               break;
            case 4: 
               panel = panel5;
               break;
         }
         clr1 = panel.BackColor;

         // Draw rectangle around color selected by player 1.
         Pen penBlack = new Pen(Color.Black);
         Rectangle rc = new 
            Rectangle(panel.Left - 3, 
            panel.Top - 3, 
            panel.Width + 5, 
            panel.Height + 5);
         e.Graphics.DrawRectangle(penBlack, rc);
         rc.Inflate(1, 1); 
         e.Graphics.DrawRectangle(penBlack, rc);
         rc.Inflate(1, 1); 
         e.Graphics.DrawRectangle(penBlack, rc);

         //
         // Player 2
         //
         // What is current player 2 panel?
         switch(iColor2)
         {
            case 0:
               panel = panelA;
               break;
            case 1:
               panel = panelB;
               break;
            case 2: 
               panel = panelC;
               break;
            case 3: 
               panel = panelD;
               break;
            case 4: 
               panel = panelE;
               break;
         }
         clr2 = panel.BackColor;

         // Draw rectangle around color selected by player 2.
         rc = new Rectangle(panel.Left - 3, 
            panel.Top - 3, 
            panel.Width + 5, 
            panel.Height + 5);
         e.Graphics.DrawRectangle(penBlack, rc);
         rc.Inflate(1, 1); 
         e.Graphics.DrawRectangle(penBlack, rc);
         rc.Inflate(1, 1); 
         e.Graphics.DrawRectangle(penBlack, rc);
      }

   } // class
} // namespace

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -