示例#1
0
        // 좌석 버튼 클릭시
        void newbtn_Click(object sender, EventArgs e)
        {
            Button  btn     = sender as Button;
            int     btn_num = int.Parse(btn.Text);
            SeatBtn seatBtn = new SeatBtn();

            seatBtn.btn_FocusRegister(btn);
            SeatInfo cur_seat = DataManager.seat_List[btn_num - 1];

            btn.BackColor = Color.FromArgb(230, 255, 204, 0); // 노란색으로 바꾸기

            if (cur_seat.isUsed)
            {
                tb_id.Text   = cur_seat.id.ToString();
                tb_name.Text = cur_seat.name;
                //readOnly로 설정
                tb_id.ReadOnly   = true;
                tb_name.ReadOnly = true;
            }
            else
            {
                tb_id.ReadOnly   = false;
                tb_name.ReadOnly = false;
                tb_id.Clear();
                tb_name.Clear();
            }
            tb_pos.Text = btn.Text;
        }
示例#2
0
        // 좌석현황 버튼 처리
        private void make_Btn()
        {
            SeatBtn seatBtn = new SeatBtn();

            for (int num = 0; num < Seat.total_SeatCnt; num++)
            {
                // 리스트안 각각 배열하나마다 객체를 또 생성해줘야 오류가 나지않는다.
                newButton[num]             = new Button();
                newButton[num].Text        = (num + 1).ToString();//num이 0부터 시작하기때문에
                newButton[num].Name        = "seat" + (num + 1).ToString();
                newButton[num].Click      += new EventHandler(newbtn_Click);
                newButton[num].GotFocus   += new EventHandler(seatBtn.newbtn_OnGotFocus);
                newButton[num].LostFocus  += new EventHandler(seatBtn.newbtn_OnLostFocus);
                newButton[num].MouseMove  += new System.Windows.Forms.MouseEventHandler(seatBtn.newbtn_MouseMove);
                newButton[num].MouseLeave += new EventHandler(seatBtn.newbtn_MouseLeave);
                newButton[num].Size        = new Size(37, 37);
                newButton[num].Font        = new Font("맑은 고딕", 9, FontStyle.Bold);
                newButton[num].ForeColor   = Color.White;
                //num+1에 해당하는 위치의 좌석 정보 불러오기
                SeatInfo seat = DataManager.seat_List[num];
                //사용 가능, 사용중 버튼 색을 다르게 세팅
                if (seat.isUsed == false)
                {
                    newButton[num].BackColor = Color.FromArgb(230, 0, 51, 255);
                }
                else
                {
                    newButton[num].BackColor = Color.FromArgb(250, 204, 204, 204);
                }
                // 버튼 동적 생성
                int btn_Row       = num; // 행 번호, 첫 줄은 세로로 이동시키지 않기 위해 1을 뺌
                int btn_ColumnCnt = 20;  // 한 줄당 버튼 개수
                int btn_distance  = 40;  // 버튼 간격
                if (num < btn_ColumnCnt)
                {
                    // 1로할경우는 num-1를 해줘야하지만  num이 0인 경우는 알아서 처리된다.
                    // num -1를 한 이유는 행에서 가장 첫번째 버튼은 고정으로 하기위해
                    // 7은 가장자리랑 떨어지기위해 더해준값,
                    newButton[num].Location = new Point(7 + btn_distance * (num), (btn_Row / btn_ColumnCnt) * btn_distance);
                }
                else
                {
                    newButton[num].Location = new Point(7 + btn_distance * (num - (btn_ColumnCnt * (btn_Row / btn_ColumnCnt))), (btn_Row / btn_ColumnCnt) * btn_distance);
                }

                seatList.Controls.Add(newButton[num]);
            }
        }
示例#3
0
        // 좌석버튼이 포커싱을 잃었을때
        public void newbtn_OnLostFocus(object sender, EventArgs e)
        {
            Button btn         = sender as Button;
            int    btn_num     = int.Parse(btn.Text);
            bool   focus_Check = SeatBtn.btn_FocusCheck(btn);

            if (focus_Check)
            {
            }
            else
            {
                if (DataManager.seat_List[btn_num - 1].isUsed)
                {
                    btn.BackColor = Color.FromArgb(250, 204, 204, 204); //회색으로 바꾸기
                }
                else
                {
                    btn.BackColor = Color.FromArgb(230, 0, 51, 255); // 파란색으로 바꾸기
                }
            }
        }
示例#4
0
        public void newbtn_MouseLeave(object sender, EventArgs e)
        {
            Button btn         = sender as Button;
            int    btn_num     = int.Parse(btn.Text);
            bool   focus_Check = SeatBtn.btn_FocusCheck(btn);

            if (focus_Check)
            {
            }
            else
            {
                // btn_num보다 seat_List의 인덱스가 1작으므로
                if (DataManager.seat_List[btn_num - 1].isUsed)
                {
                    btn.BackColor = Color.FromArgb(250, 204, 204, 204);
                }
                else
                {
                    btn.BackColor = Color.FromArgb(230, 0, 51, 255);
                }
            }
        }