2010年10月29日 星期五

作業

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        System.Windows.Forms.Button[] Buttons;
        System.Windows.Forms.TextBox[] TextBoxs;
        int bno;
        int[,] a = new int[4, 4];
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Buttons = new System.Windows.Forms.Button[9];
            TextBoxs = new System.Windows.Forms.TextBox[9];

            for (int i = 0; i < 9; ++i)
            {
                Buttons[i] = new Button();
                Buttons[i].Click += new System.EventHandler(Buttons_Click);
                this.Controls.Add(Buttons[i]);
                if (i <= 2)
                    Buttons[i].Location = new System.Drawing.Point(10 + i * 80, 10 + 100);
                else if (i > 2 && i <= 5)
                    Buttons[i].Location = new System.Drawing.Point(10 + (i - 3) * 80, 40 + 100);
                else if (i > 5 && i <= 9)
                    Buttons[i].Location = new System.Drawing.Point(10 + (i - 6) * 80, 70 + 100);
            }
            for (int i = 0; i < 9; ++i)
            {
                TextBoxs[i] = new TextBox();
                this.Controls.Add(TextBoxs[i]);
                if (i <= 2)
                    TextBoxs[i].Location = new System.Drawing.Point(10 + i * 100, 10);
                else if (i > 2 && i <= 5)
                    TextBoxs[i].Location = new System.Drawing.Point(10 + (i - 3) * 100, 40);
                else if (i > 5 && i <= 9)
                    TextBoxs[i].Location = new System.Drawing.Point(10 + (i - 6) * 100, 70);
            }
            TextBoxs[0].Text = "7";
            TextBoxs[1].Text = "2";
            TextBoxs[2].Text = "4";
            TextBoxs[3].Text = "5";
            TextBoxs[4].Text = "0";
            TextBoxs[5].Text = "6";
            TextBoxs[6].Text = "8";
            TextBoxs[7].Text = "3";
            TextBoxs[8].Text = "1";
        }
        public void Buttons_Click(object sender, EventArgs e)
        {
            // System.Windows.Forms.MessageBox.Show("You have clicked button " +
            //   ((System.Windows.Forms.Button)sender).Tag.ToString());
            string tnum = sender.ToString();
            int tlen = tnum.Length;
            string no = tnum.Substring(tlen - 1);
            for (int i = 0; i < 9; i++)
            {
                if (Buttons[i].Text == no)
                    bno = i;
            }
            switch (bno)
            {
                case 0:
                    if (Buttons[1].Text == "0")
                    {
                        String temp;
                        temp = Buttons[1].Text;
                        Buttons[1].Text = Buttons[0].Text;
                        Buttons[0].Text = temp;
                    }
                    else if (Buttons[3].Text == "0")
                    {
                        String temp;
                        temp = Buttons[3].Text;
                        Buttons[3].Text = Buttons[0].Text;
                        Buttons[0].Text = temp;
                    } 
                break;
                case 1:
                if (Buttons[4].Text == "0")
                {
                    String temp;
                    temp = Buttons[4].Text;
                    Buttons[4].Text = Buttons[1].Text;
                    Buttons[1].Text = temp;
                   }
                else if(Buttons[0].Text == "0")
                {
                    String temp;
                    temp = Buttons[0].Text;
                    Buttons[0].Text = Buttons[1].Text;
                    Buttons[1].Text = temp;
                 }
                else if (Buttons[2].Text == "0")
                {
                    String temp;
                    temp = Buttons[2].Text;
                    Buttons[2].Text = Buttons[1].Text;
                    Buttons[1].Text = temp;
                } 
                break;
                case 2:
                if (Buttons[1].Text == "0")
                {
                    String temp;
                    temp = Buttons[1].Text;
                    Buttons[1].Text = Buttons[2].Text;
                    Buttons[2].Text = temp;
                }
                else if (Buttons[5].Text == "0")
                {
                    String temp;
                    temp = Buttons[5].Text;
                    Buttons[5].Text = Buttons[2].Text;
                    Buttons[2].Text = temp;
                } 
               
                break;
                case 3:
                if (Buttons[0].Text == "0")
                {
                    String temp;
                    temp = Buttons[0].Text;
                    Buttons[0].Text = Buttons[3].Text;
                    Buttons[3].Text = temp;
                }
                else if (Buttons[4].Text == "0")
                {
                    String temp;
                    temp = Buttons[4].Text;
                    Buttons[4].Text = Buttons[3].Text;
                    Buttons[3].Text = temp;
                }
                else if (Buttons[6].Text == "0")
                {
                    String temp;
                    temp = Buttons[6].Text;
                    Buttons[6].Text = Buttons[3].Text;
                    Buttons[3].Text = temp;
                } 
                break;
                case 4:
                if (Buttons[1].Text == "0")
                {
                    String temp;
                    temp = Buttons[1].Text;
                    Buttons[1].Text = Buttons[4].Text;
                    Buttons[4].Text = temp;
                }
                else if (Buttons[3].Text == "0")
                {
                    String temp;
                    temp = Buttons[3].Text;
                    Buttons[3].Text = Buttons[4].Text;
                    Buttons[4].Text = temp;
                }
                else if (Buttons[5].Text == "0")
                {
                    String temp;
                    temp = Buttons[5].Text;
                    Buttons[5].Text = Buttons[4].Text;
                    Buttons[4].Text = temp;
                }
                else if (Buttons[7].Text == "0")
                {
                    String temp;
                    temp = Buttons[7].Text;
                    Buttons[7].Text = Buttons[4].Text;
                    Buttons[4].Text = temp;
                } 
                break;
                case 5:
                if (Buttons[2].Text == "0")
                {
                    String temp;
                    temp = Buttons[2].Text;
                    Buttons[2].Text = Buttons[5].Text;
                    Buttons[5].Text = temp;
                }
                else if (Buttons[4].Text == "0")
                {
                    String temp;
                    temp = Buttons[4].Text;
                    Buttons[4].Text = Buttons[5].Text;
                    Buttons[5].Text = temp;
                }
                else if (Buttons[8].Text == "0")
                {
                    String temp;
                    temp = Buttons[8].Text;
                    Buttons[8].Text = Buttons[5].Text;
                    Buttons[5].Text = temp;
                } 
                break;
                case 6:
                if (Buttons[3].Text == "0")
                {
                    String temp;
                    temp = Buttons[3].Text;
                    Buttons[3].Text = Buttons[6].Text;
                    Buttons[6].Text = temp;
                }
                else if (Buttons[7].Text == "0")
                {
                    String temp;
                    temp = Buttons[7].Text;
                    Buttons[7].Text = Buttons[6].Text;
                    Buttons[6].Text = temp;
                } 
                break;
                case 7:
                if (Buttons[4].Text == "0")
                {
                    String temp;
                    temp = Buttons[4].Text;
                    Buttons[4].Text = Buttons[7].Text;
                    Buttons[7].Text = temp;
                }
                else if (Buttons[6].Text == "0")
                {
                    String temp;
                    temp = Buttons[6].Text;
                    Buttons[6].Text = Buttons[7].Text;
                    Buttons[7].Text = temp;
                }
                else if (Buttons[8].Text == "0")
                {
                    String temp;
                    temp = Buttons[8].Text;
                    Buttons[8].Text = Buttons[7].Text;
                    Buttons[7].Text = temp;
                } 
                break;
                case 8:
                if (Buttons[5].Text == "0")
                {
                    String temp;
                    temp = Buttons[5].Text;
                    Buttons[5].Text = Buttons[8].Text;
                    Buttons[8].Text = temp;
                }
                else if (Buttons[7].Text == "0")
                {
                    String temp;
                    temp = Buttons[7].Text;
                    Buttons[7].Text = Buttons[8].Text;
                    Buttons[8].Text = temp;
                } 
                break;
            }
            if (no == "2")
                MessageBox.Show("" + no);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //讀入  input
            a[1, 1] = Convert.ToInt16(TextBoxs[0].Text);
            a[1, 2] = Convert.ToInt16(TextBoxs[1].Text);
            a[1, 3] = Convert.ToInt16(TextBoxs[2].Text);
            a[2, 1] = Convert.ToInt16(TextBoxs[3].Text);
            a[2, 2] = Convert.ToInt16(TextBoxs[4].Text);
            a[2, 3] = Convert.ToInt16(TextBoxs[5].Text);
            a[3, 1] = Convert.ToInt16(TextBoxs[6].Text);
            a[3, 2] = Convert.ToInt16(TextBoxs[7].Text);
            a[3, 3] = Convert.ToInt16(TextBoxs[8].Text);
            //輸出  output
            for (int i = 0; i < 9; i++)
            {
                if (i < 3)
                {
                    Buttons[i].Text = Convert.ToString(a[1, i + 1]);
                }
                else if (i >= 3 && i < 6)
                {
                    Buttons[i].Text = Convert.ToString(a[2, (i - 3) + 1]);
                }
                else
                {
                    Buttons[i].Text = Convert.ToString(a[3, (i - 3 * 2) + 1]);
                }
            }
        }
    }
}