private void SetArea(object args, EventArgs e) { string areaName = (string)((object[])args)[0]; if (!_pictureBoxes.ContainsKey(areaName)) { return; } string name = (string)((object[])args)[1]; PanelArea area = Array.Find <PanelArea>(_areas, delegate(PanelArea o) { return(o.Name == areaName); }); if (area != null) { PanelImage image = Array.Find <PanelImage>(area.Images, delegate(PanelImage o) { return(o.Name == name); }); if (image != null) { _pictureBoxes[areaName].Image = image.LoadImage(); } } }
private void SetBackground(object args, EventArgs e) { string name = (string)args; PanelImage image = Array.Find <PanelImage>(_background, delegate(PanelImage o) { return(o.Name == name); }); if (image != null) { BackgroundImage = image.LoadImage(); } }
public PanelForm(PanelConfiguration configuration) { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // _configuration = configuration; _background = _configuration.Background; _areas = _configuration.Areas; Text = _configuration.Name; ClientSize = new Size(_configuration.Width, _configuration.Height); if (_configuration.ShowCaption) { FormBorderStyle = FormBorderStyle.FixedToolWindow; } else { FormBorderStyle = FormBorderStyle.None; } this.StartPosition = FormStartPosition.Manual; Location = new Point(_configuration.Left, _configuration.Top); // ustawienie domyślnego tła PanelImage image = Array.Find <PanelImage>(_background, delegate(PanelImage o) { return(o.Default); }); if (image != null) { BackgroundImage = image.LoadImage(); } // utworzenie obszarów for (int i = 0; i < _areas.Length; i++) { PanelArea area = _areas[i]; if (area.Images != null && area.Images.Length > 0) { PictureBox picture = new PictureBox(); picture.Left = area.Left; picture.Top = area.Top; picture.Width = area.Width; picture.Height = area.Height; picture.SizeMode = PictureBoxSizeMode.StretchImage; picture.Visible = true; picture.Tag = area; picture.BackColor = Color.Transparent; Controls.Add(picture); PanelImage image2 = Array.Find <PanelImage>(area.Images, delegate(PanelImage o) { return(o.Default); }); if (image2 != null) { picture.Image = image2.LoadImage(); } _pictureBoxes.Add(area.Name, picture); } } }