コード例 #1
0
        /// <summary>
        /// 이미지 선택창에서 사용자가 선택 및 옵션 결정을 하고 누르는 확인 버튼의 이벤트 메서드
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnComplete_Click(object sender, EventArgs e)
        {
            frmWaiting Wait = new frmWaiting();

            Wait.Progress(5);
            Wait.Show();
            TypeChanger tc        = new TypeChanger();
            BoardType   boardType = this.Option.puzzleImage.boardType;
            int         pieceNum  = 0;
            int         len       = tc.BoardTypeLength + 2;

            if (boardType == BoardType.TypeAny || boardOption.ignoreBoardType)
            {
                for (int i = 3; i < len; i++)
                {
                    ImgCrop(i, 600 / i);
                    Wait.Progress(i * 10);
                }
                boardOption.puzzleImage.boardType = BoardType.Type5x5;
            }
            else
            {
                pieceNum = (int)boardType + 2;
                ImgCrop(pieceNum, 600 / pieceNum);
                Wait.Progress(80);
            }
            Wait.Progress(100);
            btnComplete.DialogResult = DialogResult.OK;
            this.Close();
            Wait.Close();
        }
コード例 #2
0
ファイル: frmOpen.cs プロジェクト: penguinsoft/iPOS
 public void CloseWaitingForm()
 {
     if (frm != null)
     {
         frm.Close();
         frm.Dispose();
     }
 }
コード例 #3
0
        private void initImgPanel(int selectedIndex)
        {
            string     sDir = (selectedIndex == 0)? "Default" : "user";
            frmWaiting Wait = new frmWaiting();

            //string cDir = Environment.CurrentDirectory;
            string[] Files = Directory.GetFiles(@"img\" + sDir, "*.jpg", SearchOption.TopDirectoryOnly);
            int      len   = Files.Length;

            Panel[]      ImgPanel   = new Panel[len];
            PictureBox[] ImgPreview = new PictureBox[len];
            StreamReader sr         = null;
            string       str        = "";

            string[]    tmp = new string[3];
            int         num = 0;
            TypeChanger tc  = new TypeChanger();

            Wait.Show();
            //MessageBox.Show(sDir);
            if (sDir == "Default")
            {
                sr = new StreamReader(@"img\Default\Desc.txt", Encoding.UTF8);
                while (true)
                {
                    num++;
                    str += sr.ReadLine() + "\t";
                    if (sr.EndOfStream)
                    {
                        break;
                    }
                }
                sr.Close();

                Wait.Progress(10);

                tmp = str.Split('\t');

                for (int i = 0; i < num; i++)
                {
                    puzzleImage[i].boardType = tc.ExtractToBoardType(tmp[0 + 3 * i]);
                    puzzleImage[i].image     = Image.FromFile(Files[i]);
                    puzzleImage[i].name      = tmp[1 + 3 * i];
                    puzzleImage[i].desc      = tmp[2 + 3 * i];
                    puzzleImage[i].file      = @"img\Default\" + tmp[0 + 3 * i];
                }
            }
            else
            {
                string rootDir = Environment.CurrentDirectory + @"\img\user\";
                len = rootDir.Length;
                num = Files.Length;
                for (int i = 0; i < num; i++)
                {
                    string[] tmpName = Files[i].Split('\\');
                    puzzleImage[i].boardType = BoardType.TypeAny;
                    puzzleImage[i].image     = Image.FromFile(Files[i]);
                    puzzleImage[i].name      = tmpName[tmpName.Length - 1];
                    puzzleImage[i].desc      = "사용자 정의";
                    puzzleImage[i].file      = @"img\user\" + puzzleImage[i].name;
                }
            }
            Wait.Progress(20);


            len = Files.Length;
            for (int i = 0; i < len; i++)
            {
                ImgPanel[i]                       = new Panel();
                ImgPreview[i]                     = new PictureBox();
                ImgPreview[i].Image               = puzzleImage[i].image;
                ImgPreview[i].Location            = new System.Drawing.Point(3, 3);
                ImgPreview[i].Name                = "ImgPreview" + i;
                ImgPreview[i].Size                = new System.Drawing.Size(64, 64);
                ImgPreview[i].SizeMode            = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
                ImgPreview[i].TabIndex            = 0;
                ImgPreview[i].TabStop             = false;
                ImgPanel[i].BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
                ImgPanel[i].Location              = new System.Drawing.Point(3, 3 + 70 * i);
                ImgPanel[i].Name                  = "imgPanel" + i;
                ImgPanel[i].Size                  = new System.Drawing.Size(230, 70);
                ImgPanel[i].TabIndex              = 2 + i;
                ImgPanel[i].Paint                += new PaintEventHandler(ImgPanel_Paint);
                ImgPanel[i].MouseMove            += new MouseEventHandler(ImgPanel_MouseMove);
                ImgPanel[i].MouseLeave           += new EventHandler(ImgPanel_MouseLeave);
                ImgPanel[i].Click                += new EventHandler(ImgPanel_Click);
                ImgPanel[i].Controls.Add(ImgPreview[i]);
                panel_ImgSelector.Controls.Add(ImgPanel[i]);
                Wait.Progress(20 + i);
            }
            Wait.Progress(100);
            Wait.Close();
        }
コード例 #4
0
    public static void Open(string sMessage)
    {
        Thread t = new Thread(delegate()
        {
            frmWaiting window = new frmWaiting(sMessage);
            CloseWindow      += () => window.Dispatcher.BeginInvoke(new ThreadStart(() => window.Close()));
            window.Closed    += (sender2, e2) => Window.Dispatcher.InvokeShutdown();
            window.Show();
            System.Windows.Threading.Dispatcher.Run();
        });

        t.SetApartmentState(ApartmentState.STA);
        t.Start();
    }