public UserInterface()
{
InitializeComponent(); //Intialisierung der statisch erzeugten Formularelemente
GroupBox_floors = new GroupBox[Defaults.Floors];
label_floor_numbers = new Label[Defaults.Floors];
label_current_position = new Label[Defaults.Floors];
PictureBox_doorstates = new PictureBox[Defaults.Floors];
button_intern = new Button[Defaults.Floors];
button_upward = new Button[Defaults.Floors];
button_downward = new Button[Defaults.Floors];
image_upward = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufwaerts.gif");
image_downward = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufwaerts.gif");
image_downward.RotateFlip(RotateFlipType.Rotate180FlipX);
pictureBox_direction.Image = image_upward;
image_door_open = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufzugtueren_auf.gif");
image_door_close = Image.FromFile(Defaults.GetProjectPath() + @"\Pictures\Aufzugtueren_zu.gif");
current_direction = Defaults.Direction.Upward;
floor = 0;
passengers = 0;
busy = false;
intern_requireds = new List<bool>();
upwards_requireds = new List<bool>();
downwards_requireds = new List<bool>();
pictureBox_direction.Image = image_upward;
for (int i = Defaults.Floors - 1; i >= 0; i--)
{
GroupBox_floors[i] = new GroupBox();
GroupBox_floors[i].Text = "";
GroupBox_floors[i].Location = new Point(30, Defaults.Floors * 100 - 110 * i);
GroupBox_floors[i].Height = 110;
GroupBox_floors[i].Width = 350;
GroupBox_floors[i].Name = "groupBox_floor" + i;
groupBox_outsite.Controls.Add(GroupBox_floors[i]);
label_floor_numbers[i] = new Label();
switch (i)
{
case 0: label_floor_numbers[i].Text = "UG"; break;
case 1: label_floor_numbers[i].Text = "EG"; break;
default: label_floor_numbers[i].Text = (i - 1) + ". OG"; break;
}
label_floor_numbers[i].Width = 70;
label_floor_numbers[i].Location = new Point(10, 10);
label_floor_numbers[i].Name = "label_floor" + i;
GroupBox_floors[i].Controls.Add(label_floor_numbers[i]);
label_floor_numbers[i].Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
PictureBox_doorstates[i] = new PictureBox();
PictureBox_doorstates[i].Width = 30;
PictureBox_doorstates[i].Height = 30;
PictureBox_doorstates[i].Location = new Point(100, 50);
PictureBox_doorstates[i].Name = "pictureBox_doorstate" + i;
PictureBox_doorstates[i].Image = image_door_close;
GroupBox_floors[i].Controls.Add(PictureBox_doorstates[i]);
label_current_position[i] = new Label();
label_current_position[i].Text = "#Position";
label_current_position[i].Name = "label_position" + i;
label_current_position[i].Width = 60;
label_current_position[i].Location = new Point(100, 12);
GroupBox_floors[i].Controls.Add(label_current_position[i]);
button_intern[i] = new Button();
button_intern[i].Location = new Point(20, Defaults.Floors * 45 - 45 * i);
button_intern[i].Height = 40;
button_intern[i].Width = 100;
button_intern[i].Name = "Button_int" + i;
switch (i)
{
case 0: button_intern[i].Text = "1. UG"; break;
case 1: button_intern[i].Text = "EG"; break;
default: button_intern[i].Text = (i - 1) + ". OG"; break;
}
groupBox_floor_selection.Controls.Add(button_intern[i]);
button_intern[i].Click += new System.EventHandler(ClickInnerButton);
if (i != Defaults.Floors - 1)
{
button_upward[i] = new Button();
button_upward[i].Location = new Point(250, 25);
button_upward[i].Height = 30;
button_upward[i].Width = 70;
button_upward[i].Text = "Aufwärts";
button_upward[i].Name = "Button_up_" + i;
GroupBox_floors[i].Controls.Add(button_upward[i]);
button_upward[i].Click += new System.EventHandler(ClickOutsideButton);
}
if (i != 0)
{
button_downward[i] = new Button();
button_downward[i].Location = new Point(250, 65);
button_downward[i].Height = 30;
button_downward[i].Width = 70;
button_downward[i].Text = "Abwärts";
button_downward[i].Name = "Button_down_" + i;
GroupBox_floors[i].Controls.Add(button_downward[i]);
button_downward[i].Click += new System.EventHandler(ClickOutsideButton);
}
intern_requireds.Add(false);
upwards_requireds.Add(false);
downwards_requireds.Add(false);
}// Ende der for-Schleife
CurrentPosition = floor;
}