예제 #1
0
파일: UI.cs 프로젝트: Maxymulator/MSO3
        private void initializeControls()
        {
            // Set label
            this.Text = "MSO Lab Exercise III";
            // this.FormBorderStyle = FormBorderStyle.FixedSingle;
            this.Width  = 500;
            this.Height = 210;
            // Set layout
            var grid = new TableLayoutPanel();

            grid.Dock    = DockStyle.Fill;
            grid.Padding = new Padding(5);
            this.Controls.Add(grid);
            grid.RowCount = 4;
            grid.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
            grid.RowStyles.Add(new RowStyle(SizeType.Percent, 100));
            grid.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
            grid.RowStyles.Add(new RowStyle(SizeType.Absolute, 40));
            grid.ColumnCount = 6;
            for (int i = 0; i < 6; i++)
            {
                ColumnStyle c = new ColumnStyle(SizeType.Percent, 16.66666f);
                grid.ColumnStyles.Add(c);
            }
            // Create From and To
            var fromLabel = new Label();

            fromLabel.Text      = "From:";
            fromLabel.TextAlign = ContentAlignment.MiddleRight;
            grid.Controls.Add(fromLabel, 0, 0);
            fromLabel.Dock        = DockStyle.Fill;
            fromBox               = new ComboBox();
            fromBox.DropDownStyle = ComboBoxStyle.DropDownList;
            fromBox.Items.AddRange(Tariefeenheden.getStations());
            fromBox.SelectedIndex = 0;
            grid.Controls.Add(fromBox, 1, 0);
            grid.SetColumnSpan(fromBox, 2);
            fromBox.Dock = DockStyle.Fill;
            var toLabel = new Label();

            toLabel.Text      = "To:";
            toLabel.TextAlign = ContentAlignment.MiddleRight;
            grid.Controls.Add(toLabel, 3, 0);
            toLabel.Dock        = DockStyle.Fill;
            toBox               = new ComboBox();
            toBox.DropDownStyle = ComboBoxStyle.DropDownList;
            toBox.Items.AddRange(Tariefeenheden.getStations());
            toBox.SelectedIndex = 0;
            grid.Controls.Add(toBox, 4, 0);
            grid.SetColumnSpan(toBox, 2);
            toBox.Dock = DockStyle.Fill;
            // Create groups
            GroupBox classGroup = new GroupBox();

            classGroup.Text = "Class";
            classGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(classGroup, 0, 1);
            grid.SetColumnSpan(classGroup, 2);
            var classGrid = new TableLayoutPanel();

            classGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            classGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            classGrid.Dock = DockStyle.Fill;
            classGroup.Controls.Add(classGrid);
            GroupBox wayGroup = new GroupBox();

            wayGroup.Text = "Amount";
            wayGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(wayGroup, 2, 1);
            grid.SetColumnSpan(wayGroup, 2);
            var wayGrid = new TableLayoutPanel();

            wayGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            wayGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            wayGrid.Dock = DockStyle.Fill;
            wayGroup.Controls.Add(wayGrid);
            GroupBox discountGroup = new GroupBox();

            discountGroup.Text = "Discount";
            discountGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(discountGroup, 4, 1);
            grid.SetColumnSpan(discountGroup, 2);
            var discountGrid = new TableLayoutPanel();

            discountGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 33.33333f));
            discountGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 33.33333f));
            discountGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 33.33333f));
            discountGrid.Dock = DockStyle.Fill;
            discountGroup.Controls.Add(discountGrid);
            // Create radio buttons
            firstClass         = new RadioButton();
            firstClass.Text    = "1st class";
            firstClass.Checked = true;
            classGrid.Controls.Add(firstClass);
            secondClass      = new RadioButton();
            secondClass.Text = "2nd class";
            classGrid.Controls.Add(secondClass);
            oneWay         = new RadioButton();
            oneWay.Text    = "One-way";
            oneWay.Checked = true;
            wayGrid.Controls.Add(oneWay);
            returnWay      = new RadioButton();
            returnWay.Text = "Return";
            wayGrid.Controls.Add(returnWay);
            noDiscount         = new RadioButton();
            noDiscount.Text    = "No discount";
            noDiscount.Checked = true;
            discountGrid.Controls.Add(noDiscount);
            twentyDiscount      = new RadioButton();
            twentyDiscount.Text = "20% discount";
            discountGrid.Controls.Add(twentyDiscount);
            fortyDiscount      = new RadioButton();
            fortyDiscount.Text = "40% discount";
            discountGrid.Controls.Add(fortyDiscount);
            // Payment option
            Label paymentLabel = new Label();

            paymentLabel.Text      = "Payment by:";
            paymentLabel.Dock      = DockStyle.Fill;
            paymentLabel.TextAlign = ContentAlignment.MiddleRight;
            grid.Controls.Add(paymentLabel, 0, 2);
            payment = new ComboBox();
            payment.DropDownStyle = ComboBoxStyle.DropDownList;
            payment.Items.AddRange(new String[] { "Credit card", "Debit card", "Cash" });
            payment.SelectedIndex = 0;
            payment.Dock          = DockStyle.Fill;
            grid.Controls.Add(payment, 1, 2);
            grid.SetColumnSpan(payment, 5);
            // Pay button
            pay      = new Button();
            pay.Text = "Pay";
            pay.Dock = DockStyle.Fill;
            grid.Controls.Add(pay, 0, 3);
            grid.SetColumnSpan(pay, 6);
            // Set up event
            pay.Click += (object sender, EventArgs e) => handlePayment(getUIInfo());
        }
예제 #2
0
        private void initializeControls()
        {
            // Set label
            Text = "MSO Lab Exercise III";
            // this.FormBorderStyle = FormBorderStyle.FixedSingle;
            Width  = 700;
            Height = 310;
            // Set layout
            var grid = new TableLayoutPanel();

            grid.Dock    = DockStyle.Fill;
            grid.Padding = new Padding(5);
            Controls.Add(grid);
            grid.RowCount = 4;
            grid.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
            grid.RowStyles.Add(new RowStyle(SizeType.Percent, 100));
            grid.RowStyles.Add(new RowStyle(SizeType.Absolute, 20));
            grid.RowStyles.Add(new RowStyle(SizeType.Absolute, 40));
            grid.ColumnCount = 6;
            for (int i = 0; i < 6; i++)
            {
                ColumnStyle c = new ColumnStyle(SizeType.Percent, 22.0f);
                //ColumnStyle c = new ColumnStyle(SizeType.AutoSize);
                grid.ColumnStyles.Add(c);
            }

            // Create From and To
            var fromLabel = new Label();

            fromLabel.Text      = "From:";
            fromLabel.TextAlign = ContentAlignment.MiddleRight;
            grid.Controls.Add(fromLabel, 0, 0);
            fromLabel.Dock        = DockStyle.Fill;
            fromBox               = new ComboBox();
            fromBox.DropDownStyle = ComboBoxStyle.DropDownList;
            fromBox.Items.AddRange(Tariefeenheden.getStations());
            fromBox.SelectedIndex = 0;
            grid.Controls.Add(fromBox, 1, 0);
            grid.SetColumnSpan(fromBox, 2);
            fromBox.Dock = DockStyle.Fill;
            var toLabel = new Label();

            toLabel.Text      = "To:";
            toLabel.TextAlign = ContentAlignment.MiddleRight;
            grid.Controls.Add(toLabel, 3, 0);
            toLabel.Dock        = DockStyle.Fill;
            toBox               = new ComboBox();
            toBox.DropDownStyle = ComboBoxStyle.DropDownList;
            toBox.Items.AddRange(Tariefeenheden.getStations());
            toBox.SelectedIndex = 0;
            grid.Controls.Add(toBox, 4, 0);
            grid.SetColumnSpan(toBox, 2);
            toBox.Dock = DockStyle.Fill;

            // Create groups
            GroupBox classGroup = new GroupBox();

            classGroup.Text = "Class";
            classGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(classGroup, 0, 1);
            grid.SetColumnSpan(classGroup, 1);
            var classGrid = new TableLayoutPanel();

            classGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            classGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            classGrid.Dock = DockStyle.Fill;
            classGroup.Controls.Add(classGrid);
            GroupBox wayGroup = new GroupBox();

            wayGroup.Text = "Amount";
            wayGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(wayGroup, 1, 1);
            grid.SetColumnSpan(wayGroup, 1);
            var wayGrid = new TableLayoutPanel();

            wayGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            wayGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50));
            wayGrid.Dock = DockStyle.Fill;
            wayGroup.Controls.Add(wayGrid);

            //new
            GroupBox IntGroup = new GroupBox();

            IntGroup.Text = "International";
            IntGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(IntGroup, 2, 1);
            grid.SetColumnSpan(IntGroup, 1);
            var IntGrid = new TableLayoutPanel();

            IntGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50.0f));
            IntGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50.0f));
            IntGrid.Dock = DockStyle.Fill;
            IntGroup.Controls.Add(IntGrid);

            GroupBox DayGroup = new GroupBox();

            DayGroup.Text = "Choose Day";
            DayGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(DayGroup, 4, 1);
            grid.SetColumnSpan(DayGroup, 1);
            var DayGrid = new TableLayoutPanel();

            DayGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50.0f));
            DayGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 50.0f));
            DayGrid.Dock = DockStyle.Fill;
            DayGroup.Controls.Add(DayGrid);

            //verplaatst
            GroupBox discountGroup = new GroupBox();

            discountGroup.Text = "# of tickets";
            discountGroup.Dock = DockStyle.Fill;
            grid.Controls.Add(discountGroup, 5, 1);
            grid.SetColumnSpan(discountGroup, 1);
            var discountGrid = new TableLayoutPanel();

            discountGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 33.33333f));
            discountGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 33.33333f));
            discountGrid.RowStyles.Add(new RowStyle(SizeType.Percent, 33.33333f));
            discountGrid.Dock = DockStyle.Fill;
            discountGroup.Controls.Add(discountGrid);

            // Create radio buttons
            firstClass      = new RadioButton();
            firstClass.Text = "1st class";
            classGrid.Controls.Add(firstClass);
            secondClass         = new RadioButton();
            secondClass.Text    = "2nd class";
            secondClass.Checked = true;
            classGrid.Controls.Add(secondClass);
            oneWay         = new RadioButton();
            oneWay.Text    = "One-way";
            oneWay.Checked = true;
            wayGrid.Controls.Add(oneWay);
            returnWay      = new RadioButton();
            returnWay.Text = "Return";
            wayGrid.Controls.Add(returnWay);


            //discount
            Ticket1         = new RadioButton();
            Ticket1.Text    = "1";
            Ticket1.Checked = true;
            discountGrid.Controls.Add(Ticket1);
            Ticket2      = new RadioButton();
            Ticket2.Text = "2";
            discountGrid.Controls.Add(Ticket2);
            Ticket3      = new RadioButton();
            Ticket3.Text = "3";
            discountGrid.Controls.Add(Ticket3);


            //new
            International      = new RadioButton();
            International.Text = "International";
            IntGrid.Controls.Add(International);
            Local         = new RadioButton();
            Local.Text    = "Local";
            Local.Checked = true;
            IntGrid.Controls.Add(Local);

            //new
            Today         = new RadioButton();
            Today.Text    = "Today";
            Today.Checked = true;
            DayGrid.Controls.Add(Today);
            Otherday      = new RadioButton();
            Otherday.Text = "Other Day";
            DayGrid.Controls.Add(Otherday);

            // Pay button
            pay      = new Button();
            pay.Text = "Pay";
            pay.Dock = DockStyle.Fill;
            grid.Controls.Add(pay, 0, 3);
            grid.SetColumnSpan(pay, 6);


            // Set up event
            pay.Click += (object sender, EventArgs e) => handlePayment(MakeTicket());
        }