private void mnuSolveTo_Click(object sender, EventArgs e)
        {
            SelectResult frm = new SelectResult();

            frm.TopMost = this.TopMost;
            frm.ShowDialog();
            int select = frm.selected;

            if (select == -1)
            {
                return;
            }
            napde();
            SDK a = new SDK(de);

            if (select > 10000)
            {
                lblwait.Visible = true;
                myStatus.Text   = "Đang giải đề ... ";
                this.Enabled    = false;
            }
            Application.DoEvents();
            if (!a.SolveTo(select))
            {
                if (select > 10000)
                {
                    this.Enabled    = true;
                    lblwait.Visible = false;
                }
                MessageBox.Show("Bạn muốn xem nghiệm thứ " + select.ToString() + "\nNhưng Sudoku này có ít hơn " + select.ToString() + " nghiệm !\nHãy nhập vào số thích hợp.", "Không có nghiệm", MessageBoxButtons.OK, MessageBoxIcon.Information);
                myStatus.Text = "Giải đề không thành công";
                Application.DoEvents();
                return;
            }
            if (select > 10000)
            {
                this.Enabled    = true;
                lblwait.Visible = false;
            }
            dapAn = select;
            for (int i = 1; i <= 81; i++)
            {
                text[i].Text = a.Result[i].ToString();
                if (de[i] == 0)
                {
                    text[i].BackColor = Color.White;
                    text[i].ForeColor = Color.Black;
                }
            }
            myStatus.Text = "Đã giải đề thành công";
        }
        private void mnuSolveNext_Click(object sender, EventArgs e)
        {
            dapAn++;
            napde();
            SDK a = new SDK(de);

            if (dapAn > 10000)
            {
                lblwait.Visible = true;
                this.Enabled    = false;
            }
            Application.DoEvents();
            if (!a.SolveTo(dapAn))
            {
                if (dapAn > 10000)
                {
                    lblwait.Visible = false;;
                    this.Enabled    = true;;
                }
                MessageBox.Show("Hết đáp án - Không tìm thấy đáp án tiếp theo !", "Không có nghiệm", MessageBoxButtons.OK, MessageBoxIcon.Information);
                dapAn--;
                return;
            }
            if (dapAn > 10000)
            {
                lblwait.Visible = false;;
                this.Enabled    = true;;
            }
            for (int i = 1; i <= 81; i++)
            {
                text[i].Text = a.Result[i].ToString();
                if (de[i] == 0)
                {
                    text[i].BackColor = Color.White;
                    text[i].ForeColor = Color.Black;
                }
            }
        }
        private void mnuSolvePrevious_Click(object sender, EventArgs e)
        {
            switch (dapAn)
            {
            case 0: MessageBox.Show("Bạn chưa giải đề !", "Thông tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                break;

            case 1: MessageBox.Show("Đây là đáp án đầu tiên !", "Thông tin", MessageBoxButtons.OK, MessageBoxIcon.Information);
                break;

            default:
                dapAn--;
                napde();
                SDK a = new SDK(de);
                if (dapAn > 10000)
                {
                    lblwait.Visible = true;;
                    this.Enabled    = false;
                }
                a.SolveTo(dapAn);
                if (dapAn > 10000)
                {
                    lblwait.Visible = false;
                    this.Enabled    = true;
                }
                for (int i = 1; i <= 81; i++)
                {
                    text[i].Text = a.Result[i].ToString();
                    if (de[i] == 0)
                    {
                        text[i].BackColor = Color.White;
                        text[i].ForeColor = Color.Black;
                    }
                }
                break;
            }
        }