private void LoadScreenConfig() { ScreenConfig mainScreen = new ScreenConfig(); if (cmdForm.SelectedValue == null) return; spComtrolCommand.Panel2.Enabled = false; mainScreen.control_id = Converts.ParseLongNullable(cmdForm.SelectedValue.ToString()); mainScreen = ServiceProvider.ScreenConfigService.FindByKeys(mainScreen, false); if (mainScreen != null) { if (mainScreen.sc_screen_image_id != null) { mainScreen.image = ServiceProvider.ScreenImageService.FindByKeys(new ScreenImage() { sc_screen_image_id = mainScreen.sc_screen_image_id }, false).image; dragContainer2.BackgroundImage = Converts.ParseImage(mainScreen.image); } else { dragContainer2.BackgroundImage = null; } dragContainer2.BackColor = Color.FromArgb(mainScreen.background_color); dragContainer2.HideBoxResize(); dragContainer2.ControlCommand.control_id = mainScreen.control_id; dragContainer2.ClearDragItem(); dragContainer2.Width = mainScreen.control_width; dragContainer2.Height = mainScreen.control_height; txtWidth.Text = dragContainer2.Width.ToString(); txtHeight.Text = dragContainer2.Height.ToString(); List<ScreenConfig> dragItem = new List<ScreenConfig>(); dragItem = ServiceProvider.ScreenConfigService.getChildScreenByParent(mainScreen.control_id); foreach (ScreenConfig item in dragItem) { Control.DragItem d = new Control.DragItem(new Point(0, 0)); d.CustomProperties.Text = item.display_text; d.CustomProperties.BorderStyle = (BorderStyle)item.border_style; d.ControlCommand.ControlState = ObjectState.Add; d.ControlCommand.control_type = string.IsNullOrEmpty(item.control_type) ? ControlType.Button : item.control_type; if (d.ControlCommand.control_type == ControlType.Table) { d.ControlCommand.TableName = item.control_command; } else if (d.ControlCommand.control_type == ControlType.Button && item.control_command_group == CommandGroup.OpenNextScreen) { d.ControlCommand.NextScreen = item.control_command; } d.Width = item.control_width; d.Height = item.control_height; d.FontStr = item.font; d.CustomProperties.BackGroundImage =Converts.ParseImage(item.image); d.BackColor = Color.FromArgb(item.background_color); d.ForeColor = Color.FromArgb(item.fore_color); d.Top = item.position_top; d.Left = item.position_left; dragContainer2.AddDragControl(d); } } }
private void SaveScreen() { try { ScreenConfig mainScreen = new ScreenConfig(); string screenCode = string.Empty; if (cmdForm.SelectedItem != null) { screenCode = (cmdForm.SelectedItem as ScreenConfig).control_code; } if (string.IsNullOrEmpty(screenCode)) { dragContainer2.ControlCommand.control_id = null; screenCode = Microsoft.VisualBasic.Interaction.InputBox("Please Input Screen Code", "Screen code", string.Empty); } List<ScreenConfig> saveControls = new List<ScreenConfig>(); mainScreen.control_id = dragContainer2.ControlCommand.control_id; mainScreen.control_code = screenCode; mainScreen.control_type = ControlType.Form; mainScreen.control_width = dragContainer2.Width; mainScreen.control_height = dragContainer2.Height; mainScreen.background_color = dragContainer2.BackColor.ToArgb(); mainScreen.image =Converts.ParseByte(dragContainer2.BackgroundImage); foreach (Control.DragItem item in dragContainer2.DragItem.Where(a => a.ControlCommand.ControlState != ObjectState.Delete)) { ScreenConfig dragItem = new ScreenConfig(); dragItem.control_id = item.ControlCommand.control_id; dragItem.control_parent_id = mainScreen.control_id; dragItem.control_type = item.ControlCommand.control_type; if (dragItem.control_type == ControlType.Table) { dragItem.control_command = item.ControlCommand.TableName; } else if (dragItem.control_type == ControlType.Button && !string.IsNullOrEmpty(item.ControlCommand.NextScreen)) { dragItem.control_command = item.ControlCommand.NextScreen; dragItem.control_command_group = CommandGroup.OpenNextScreen; } dragItem.border_style = (int)item.BorderStyle; dragItem.display_text = item.CustomProperties.Text; dragItem.control_width = item.Width; dragItem.control_height = item.Height; dragItem.background_color = item.BackColor.ToArgb(); dragItem.image =Converts.ParseByte(item.CustomProperties.BackGroundImage); dragItem.fore_color = item.ForeColor.ToArgb(); dragItem.percent_height = item.PercenyHeight; dragItem.percent_width = item.PercenyWidth; dragItem.position_left = item.CustomProperties.Left; dragItem.position_top = item.CustomProperties.Top; dragItem.font = item.FontStr; dragItem.ObjectState = item.ControlCommand.ControlState; saveControls.Add(dragItem); } ServiceProvider.ScreenConfigService.Save(mainScreen, saveControls); this.LoadDDlScreen(); cmdForm.SelectedIndex = cmdForm.FindString(mainScreen.control_code); base.ShowMessage(GeneralMessage.SaveComplete); } catch (ValidationException ex) { base.ShowErrorMessage(ex); } }