コード例 #1
0
        private void ExamView_Load1(object sender, EventArgs e)
        {
            // 폰트
            customFonts = new CustomFonts();

            shortCutButtonList = new List <ShortCutButton>();

            this.examLectureLabel.Font = customFonts.LabelFont();
            this.examNameLabel.Font    = customFonts.LabelFont();
            this.examPercentLabel.Font = customFonts.LabelFont();

            this.exitButton = new ExitButton(customFonts);
            this.examInfoPanel.Controls.Add(this.exitButton);
            this.exitButton.Location = new System.Drawing.Point(349, 0);
            this.exitButton.Click   += new System.EventHandler(this.exitButton_Click_1);

            this.minimizeButton = new MinimizeButton(customFonts);
            this.examInfoPanel.Controls.Add(this.minimizeButton);
            this.minimizeButton.Location = new System.Drawing.Point(319, 0);
            this.minimizeButton.Click   += new System.EventHandler(this.minimizeButton_Click_1);

            this.examPageNavigationPanel          = new ExamPageNavigationPanel(customFonts);
            this.examPageNavigationPanel.Location = new System.Drawing.Point(0, 640);
            this.mainPanel.Controls.Add(this.examPageNavigationPanel);
            this.examPageNavigationPanel.AddPageButton.Visible    = false;
            this.examPageNavigationPanel.RemovePageButton.Visible = false;

            this.endExamButton.Font     = customFonts.LabelFont();
            this.examTimeLabel.Font     = customFonts.TimeLabelFont();
            this.examShortCutLabel.Font = customFonts.TextBoxFont();

            this.examMainQuestionPanelList = new List <ExamMainQuestionPanel>();

            this.examPageNavigationPanel.PageLeftButton.Click       += pageLeftButton_Click_1;
            this.examPageNavigationPanel.PageRightButton.Click      += pageRightButton_Click_1;
            this.examPageNavigationPanel.NowPageTextBox.KeyPress    += nowPageTextBox_KeyPress_1;
            this.examPageNavigationPanel.NowPageTextBox.LostFocus   += nowPageTextBox_LostFocus_1;
            this.examPageNavigationPanel.NowPageTextBox.TextChanged += nowPageTextBox_TextChanged_1;

            this.noticePanel          = new NoticePanel(customFonts);
            this.noticePanel.Location = new Point(100, 150);
            this.noticePanel.Visible  = false;
            this.Controls.Add(this.noticePanel);

            this.examPageNavigationPanel.Controls.Add(this.openChatBoxPanel);

            if (isStudent)
            {
                this.examPanel.BringToFront();
                this.chatPanel          = new ChatPanel(customFonts);
                this.chatPanel.Location = new Point(30, 240);
                this.mainPanel.Controls.Add(this.chatPanel);
                this.chatPanel.BringToFront();
                this.chatPanel.Visible            = false;
                this.chatPanel.MinimizeBtn.Click += chatPanelMinimizeButton_Click_1;
                this.chatPanel.SendButton.Click  += chatPanelSendButton_Click_1;

                this.openChatBoxPanel.Click += openChatBoxPanel_Click_1;
                this.openChatBoxLabel.Click += openChatBoxPanel_Click_1;

                this.openChatBoxLabel.Font   = customFonts.NormalFont();
                this.openChatAlertLabel.Font = customFonts.SmallFont();

                this.BackColor = Color.DarkGray;
                // 프로그램 중앙에 메인패널 위치
                //this.mainPanel.BackColor = Color.WhiteSmoke;
                //this.mainPanel.Location = new System.Drawing.Point((this.Width - this.mainPanel.Width) / 2, (this.Height - this.mainPanel.Height) / 2);

                exitButton.Visible     = false;
                minimizeButton.Visible = false;

                // 프로세스 제어
                this.processController = new ProcessController(mainController, room_id);
                processController.CheckProcess();
                processController.KillProcess();

                // 키보드 후킹
                SetHook();

                timer          = new System.Windows.Forms.Timer();
                timer.Interval = 1000;
                timer.Tick    += timer_Tick_1;
                timer.Start();

                webrtcConnectCount = 0;
                initwebrtc();
                connectWebsocket();
            }

            isScoredList = new List <Boolean>();

            loadExam();
            initShortCutButton();

            if (!isStudent)
            {
                this.examPanel.BringToFront();
                this.examTimePanel.Visible    = false;
                this.openChatBoxPanel.Visible = false;
                this.endExamButton.Text       = "채점 종료";
                loadStudentAllAnswers();
            }

            this.endExamButton.Click += endExamButton_Click_1;
        }