public void OnDragDrop(DockStyle dock, ListViewItem item) { Panel panel = panelFill; if (dock == DockStyle.Top) { panel = panelTop; } else if (dock == DockStyle.Bottom) { panel = panelBottom; } else if (dock == DockStyle.Left) { panel = panelLeft; } else if (dock == DockStyle.Right) { panel = panelRight; } if (item.Text.Equals("ToolBar", StringComparison.OrdinalIgnoreCase)) { string sCtrlName = GetDistinctName("导航栏", Window.WindowControlMgr); CWindowControl WindowControl = new CWindowControl(); WindowControl.CtrlType = ControlType.NavBar; WindowControl.Ctx = Program.Ctx; WindowControl.Name = sCtrlName; WindowControl.Dock = (int)dock; WindowControl.UI_Window_id = Window.Id; Window.WindowControlMgr.AddNew(WindowControl); NavigateBarEl nb = new NavigateBarEl(); nb.WindowControl = WindowControl; nb.Tag = WindowControl; panel.Controls.Add(nb); nb.Dock = DockStyle.Fill; nb.BringToFront(); nb.flowLayoutPanel.MouseClick += new MouseEventHandler(childCtrl_MouseClick); SelectElement(nb); } else if (item.Text.Equals("DataGrid", StringComparison.OrdinalIgnoreCase)) { SelTableForm frm = new SelTableForm(); if (frm.ShowDialog() != DialogResult.OK) { return; } string sCtrlName = GetDistinctName(frm.m_SelTable.Name, Window.WindowControlMgr); CWindowControl WindowControl = new CWindowControl(); WindowControl.CtrlType = ControlType.TableGrid; WindowControl.Ctx = Program.Ctx; WindowControl.Name = sCtrlName; WindowControl.Dock = (int)dock; WindowControl.UI_Window_id = Window.Id; Window.WindowControlMgr.AddNew(WindowControl); CTableInWindowControl tiwc = new CTableInWindowControl(); tiwc.Ctx = Program.Ctx; tiwc.FW_Table_id = frm.m_SelTable.Id; tiwc.UI_WindowControl_id = WindowControl.Id; tiwc.Text = frm.m_SelTable.Name; WindowControl.TableInWindowControlMgr.AddNew(tiwc); TableGridEl te = new TableGridEl(); te.WindowControl = WindowControl; te.CaptionText = sCtrlName; te.ShowTitleBar = true; te.ShowToolBar = true; te.Tag = WindowControl; panel.Controls.Add(te); te.Dock = DockStyle.Fill; te.BringToFront(); //联动表 ListViewItem itemLT = new ListViewItem(); itemLT.Text = te.CaptionText; itemLT.Tag = WindowControl; m_AttributeToolWindow.listLinkageWindowControl.Items.Add(itemLT); // //List<CBaseObject> lstColumn = table.ColumnMgr.GetList(); //foreach (CBaseObject obj in lstColumn) //{ // CColumn col = (CColumn)obj; // CColumnInWindowControl ciw = new CColumnInWindowControl(); // ciw.FW_Column_id = col.Id; // ciw.UI_TableInWindow_id = TableInWindow.Id; // if (!TableInWindow.ColumnInWindowMgr.AddNew(ciw)) // { // MessageBox.Show("设置显示字段失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // //return false; // } // te.m_lstShowColumn.Add(ciw.FW_Column_id); //} //foreach (ToolStripItem tbutton in te.tableCtrlEl.toolStrip.Items) //{ // CToolbarButtonInWindowControl tbiw = new CToolbarButtonInWindowControl(); // tbiw.Title = tbutton.Text; // tbiw.UI_TableInWindow_id = TableInWindow.Id; // if (!TableInWindow.ToolbarButtonInWindowMgr.AddNew(tbiw)) // { // MessageBox.Show("设置工具栏按钮失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // //return false; // } // te.m_lstShowToolBarButton.Add(tbiw.Title); //} te.tbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); SelectElement(te); } else if (item.Text.Equals("TreeCtrl", StringComparison.OrdinalIgnoreCase)) { TableTreeSet frm = new TableTreeSet(); if (frm.ShowDialog() != DialogResult.OK) { return; } string sCtrlName = GetDistinctName(frm.m_WindowControl.Name, Window.WindowControlMgr); CWindowControl WindowControl = frm.m_WindowControl; WindowControl.Name = sCtrlName; WindowControl.CtrlType = ControlType.TableTree; WindowControl.Ctx = Program.Ctx; WindowControl.Dock = (int)dock; WindowControl.UI_Window_id = Window.Id; Window.WindowControlMgr.AddNew(WindowControl); TableTreeEl tt = new TableTreeEl(); tt.CaptionText = sCtrlName; tt.ShowTitleBar = true; tt.Tag = WindowControl; panel.Controls.Add(tt); tt.Dock = DockStyle.Fill; tt.BringToFront(); tt.tbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); SelectElement(tt); } else if (item.Text.Equals("TabCtrl", StringComparison.OrdinalIgnoreCase)) { SelMultTableForm frm = new SelMultTableForm(); if (frm.ShowDialog() != DialogResult.OK) { return; } string sCtrlName = GetDistinctName("标签", Window.WindowControlMgr); CWindowControl WindowControl = new CWindowControl(); WindowControl.CtrlType = ControlType.TableTab; WindowControl.Ctx = Program.Ctx; WindowControl.Name = sCtrlName; WindowControl.Dock = (int)dock; WindowControl.UI_Window_id = Window.Id; Window.WindowControlMgr.AddNew(WindowControl); foreach (CTable table in frm.m_lstSelTable) { CTableInWindowControl tiwc = new CTableInWindowControl(); tiwc.Ctx = Program.Ctx; tiwc.FW_Table_id = table.Id; tiwc.UI_WindowControl_id = WindowControl.Id; tiwc.Text = table.Name; WindowControl.TableInWindowControlMgr.AddNew(tiwc); } TableTabEl tab = new TableTabEl(); tab.WindowControl = WindowControl; tab.CaptionText = sCtrlName; tab.ShowTitleBar = false; tab.Tag = WindowControl; panel.Controls.Add(tab); tab.Dock = DockStyle.Fill; tab.BringToFront(); tab.tabControl.MouseClick += new MouseEventHandler(childCtrl_MouseClick); SelectElement(tab); } else if (item.Text.Equals("ComboBox", StringComparison.OrdinalIgnoreCase)) { SelTableForm frm = new SelTableForm(); if (frm.ShowDialog() != DialogResult.OK) { return; } SelColumnForm frm2 = new SelColumnForm(); frm2.m_Table = frm.m_SelTable; if (frm2.ShowDialog() != DialogResult.OK) { return; } string sCtrlName = GetDistinctName(frm.m_SelTable.Name, Window.WindowControlMgr); CWindowControl WindowControl = new CWindowControl(); WindowControl.CtrlType = ControlType.ComboBox; WindowControl.Ctx = Program.Ctx; WindowControl.Name = sCtrlName; WindowControl.Dock = (int)dock; WindowControl.UI_Window_id = Window.Id; Window.WindowControlMgr.AddNew(WindowControl); string sText = string.Format("[{0}]", frm2.m_SelColumn.Code); CTableInWindowControl tiwc = new CTableInWindowControl(); tiwc.Ctx = Program.Ctx; tiwc.FW_Table_id = frm.m_SelTable.Id; tiwc.UI_WindowControl_id = WindowControl.Id; tiwc.Text = sText; WindowControl.TableInWindowControlMgr.AddNew(tiwc); UIComboBoxEl cb = new UIComboBoxEl(); cb.CaptionText = frm.m_SelTable.Name + ":"; cb.WindowControl = WindowControl; cb.Tag = WindowControl; panel.Controls.Add(cb); cb.Dock = DockStyle.Top; cb.BringToFront(); cb.lbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); cb.comboBox.MouseClick += new MouseEventHandler(childCtrl_MouseClick); SelectElement(cb); } else if (item.Text.Equals("ListBox", StringComparison.OrdinalIgnoreCase)) { SelTableForm frm = new SelTableForm(); if (frm.ShowDialog() != DialogResult.OK) { return; } SelColumnForm frm2 = new SelColumnForm(); frm2.m_Table = frm.m_SelTable; if (frm2.ShowDialog() != DialogResult.OK) { return; } string sCtrlName = GetDistinctName(frm.m_SelTable.Name, Window.WindowControlMgr); CWindowControl WindowControl = new CWindowControl(); WindowControl.CtrlType = ControlType.ListBox; WindowControl.Ctx = Program.Ctx; WindowControl.Name = sCtrlName; WindowControl.Dock = (int)dock; WindowControl.UI_Window_id = Window.Id; Window.WindowControlMgr.AddNew(WindowControl); string sText = string.Format("[{0}]", frm2.m_SelColumn.Code); //string sText = ""; //List<CBaseObject> lstObj = frm.m_SelTable.ColumnMgr.GetList(); //bool bHasName = false, bHasCode = false; //foreach (CBaseObject obj in lstObj) //{ // CColumn column = (CColumn)obj; // if (column.Code.Equals("name", StringComparison.OrdinalIgnoreCase)) // { // bHasName = true; // } // if (column.Code.Equals("code", StringComparison.OrdinalIgnoreCase)) // { // bHasCode = true; // } //} //if (bHasName) // sText = "[Name]"; //else if (bHasCode) // sText = "[Code]"; CTableInWindowControl tiwc = new CTableInWindowControl(); tiwc.Ctx = Program.Ctx; tiwc.FW_Table_id = frm.m_SelTable.Id; tiwc.UI_WindowControl_id = WindowControl.Id; tiwc.Text = sText; WindowControl.TableInWindowControlMgr.AddNew(tiwc); UIListBoxEl listBox = new UIListBoxEl(); listBox.CaptionText = sCtrlName; listBox.WindowControl = WindowControl; listBox.Tag = WindowControl; panel.Controls.Add(listBox); listBox.Dock = DockStyle.Fill; listBox.BringToFront(); listBox.tbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); SelectElement(listBox); } }
private void propertyGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { if (m_AttrType == AttrType.WindowControl) { CWindowControl WindowControl = (CWindowControl)ControlEl.Tag; IDesignEl designEl = (IDesignEl)ControlEl; if (designEl.GetCtrlType() == ControlType.NavBar) { if (e.ChangedItem.Label == "名称") { WindowControl.Name = e.ChangedItem.Value.ToString(); } else if (e.ChangedItem.Label == "停靠") { ControlEl.Dock = (DockStyle)e.ChangedItem.Value; WindowControl.Dock = (int)ControlEl.Dock; } } else if (designEl.GetCtrlType() == ControlType.TableGrid) { TableGridEl te = (TableGridEl)ControlEl; if (e.ChangedItem.Label == "名称") { WindowControl.Name = e.ChangedItem.Value.ToString(); } else if (e.ChangedItem.Label == "停靠") { te.Dock = (DockStyle)e.ChangedItem.Value; WindowControl.Dock = (int)te.Dock; } else if (e.ChangedItem.Label == "工具栏显示") { te.ShowToolBar = (bool)e.ChangedItem.Value; te.TableInWindowControl.ShowToolBar = te.ShowToolBar; te.TableInWindowControl.m_CmdType = CmdType.Update; } else if (e.ChangedItem.Label == "标题栏显示") { te.ShowTitleBar = (bool)e.ChangedItem.Value; te.TableInWindowControl.ShowTitleBar = te.ShowTitleBar; te.TableInWindowControl.m_CmdType = CmdType.Update; } } else if (designEl.GetCtrlType() == ControlType.TableTree) { TableTreeEl tree = (TableTreeEl)ControlEl; if (e.ChangedItem.Label == "名称") { WindowControl.Name = e.ChangedItem.Value.ToString(); } else if (e.ChangedItem.Label == "停靠") { tree.Dock = (DockStyle)e.ChangedItem.Value; WindowControl.Dock = (int)tree.Dock; } else if (e.ChangedItem.Label == "标题栏显示") { tree.ShowTitleBar = (bool)e.ChangedItem.Value; WindowControl.ShowTitleBar = tree.ShowTitleBar; } } else if (designEl.GetCtrlType() == ControlType.ListBox) { UIListBoxEl list = (UIListBoxEl)ControlEl; if (e.ChangedItem.Label == "名称") { WindowControl.Name = e.ChangedItem.Value.ToString(); } else if (e.ChangedItem.Label == "停靠") { list.Dock = (DockStyle)e.ChangedItem.Value; WindowControl.Dock = (int)list.Dock; } else if (e.ChangedItem.Label == "标题栏显示") { list.ShowTitleBar = (bool)e.ChangedItem.Value; WindowControl.ShowTitleBar = list.ShowTitleBar; } } else if (designEl.GetCtrlType() == ControlType.ComboBox) { UIComboBoxEl comb = (UIComboBoxEl)ControlEl; if (e.ChangedItem.Label == "名称") { ControlEl.Name = e.ChangedItem.Value.ToString(); WindowControl.Name = e.ChangedItem.Value.ToString(); } else if (e.ChangedItem.Label == "停靠") { comb.Dock = (DockStyle)e.ChangedItem.Value; WindowControl.Dock = (int)comb.Dock; } else if (e.ChangedItem.Label == "标题栏显示") { comb.ShowTitleBar = (bool)e.ChangedItem.Value; WindowControl.ShowTitleBar = comb.ShowTitleBar; } } else if (designEl.GetCtrlType() == ControlType.TableTab) { TableTabEl tab = (TableTabEl)ControlEl; if (e.ChangedItem.Label == "名称") { WindowControl.Name = e.ChangedItem.Value.ToString(); } else if (e.ChangedItem.Label == "停靠") { tab.Dock = (DockStyle)e.ChangedItem.Value; WindowControl.Dock = (int)tab.Dock; } else if (e.ChangedItem.Label == "工具栏显示") { TableGridEl grid = tab.GetCurTableGridEl(); if (grid != null) { grid.ShowToolBar = (bool)e.ChangedItem.Value; grid.TableInWindowControl.ShowToolBar = grid.ShowToolBar; grid.TableInWindowControl.m_CmdType = CmdType.Update; } } else if (e.ChangedItem.Label == "标题栏显示") { tab.ShowTitleBar = (bool)e.ChangedItem.Value; WindowControl.ShowTitleBar = tab.ShowTitleBar; } } WindowControl.m_ObjectMgr.Update(WindowControl); } else { CWindow window = (CWindow)WindowEl.Window; if (e.ChangedItem.Label == "名称") { window.Name = e.ChangedItem.Value.ToString(); } else if (e.ChangedItem.Label == "宽度") { WindowEl.Width = (int)e.ChangedItem.Value; window.Width = WindowEl.Width; } else if (e.ChangedItem.Label == "高度") { WindowEl.Height = (int)e.ChangedItem.Value; window.Height = WindowEl.Height; } window.m_ObjectMgr.Update(window); } }
void LoadData() { //this.Controls.Clear(); m_AttributeToolWindow.listLinkageWindowControl.Items.Clear(); if (Window == null) { return; } this.Width = Window.Width; this.Height = Window.Height; panelTop.Height = Window.TopPanelHeight; panelBottom.Height = Window.BottomPanelHeight; panelLeft.Width = Window.LeftPanelWidth; panelRight.Width = Window.RightPanelWidth; panelTop.Visible = Window.TopPanelVisible; panelBottom.Visible = Window.BottomPanelVisible; panelLeft.Visible = Window.LeftPanelVisible; panelRight.Visible = Window.RightPanelVisible; List <CBaseObject> lstWindowControl = Window.WindowControlMgr.GetList(); foreach (CBaseObject obj in lstWindowControl) { CWindowControl WindowControl = (CWindowControl)obj; Panel panel = null; if (WindowControl.Dock == (int)DockStyle.Top) { panel = panelTop; } else if (WindowControl.Dock == (int)DockStyle.Bottom) { panel = panelBottom; } else if (WindowControl.Dock == (int)DockStyle.Left) { panel = panelLeft; } else if (WindowControl.Dock == (int)DockStyle.Right) { panel = panelRight; } else { panel = panelFill; } //联动控件 ListViewItem itemLT = new ListViewItem(); itemLT.Text = WindowControl.Name; itemLT.Tag = WindowControl; m_AttributeToolWindow.listLinkageWindowControl.Items.Add(itemLT); // if (WindowControl.CtrlType == ControlType.NavBar) { UIToolbarEl toolbar = new UIToolbarEl(); toolbar.WindowControl = WindowControl; toolbar.Tag = WindowControl; panel.Controls.Add(toolbar); toolbar.Dock = DockStyle.Fill; toolbar.MouseClick += new MouseEventHandler(ctrl_MouseClick); } else if (WindowControl.CtrlType == ControlType.TableGrid) { if (WindowControl.TableInWindowControlMgr.GetList().Count == 0) { continue; } CTableInWindowControl TableInWindowControl = (CTableInWindowControl)WindowControl.TableInWindowControlMgr.GetFirstObj(); CTable table = (CTable)Program.Ctx.TableMgr.Find(TableInWindowControl.FW_Table_id); if (table == null) { continue; } TableGridEl te = new TableGridEl(); te.WindowControl = WindowControl; te.Name = table.Code; te.TableInWindowControl = TableInWindowControl; te.ShowToolBar = TableInWindowControl.ShowToolBar; te.ShowTitleBar = TableInWindowControl.ShowTitleBar; te.CaptionText = WindowControl.Name; te.Tag = WindowControl; panel.Controls.Add(te); te.Dock = (DockStyle)WindowControl.Dock; te.BringToFront(); te.tbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); te.toolStrip.MouseClick += new MouseEventHandler(childCtrl_MouseClick); te.dataGridView.GotFocus += new EventHandler(ctrl_GotFocus); } else if (WindowControl.CtrlType == ControlType.TableTree) { TableTreeEl tt = new TableTreeEl(); tt.CaptionText = WindowControl.Name; tt.ShowTitleBar = WindowControl.ShowTitleBar; tt.WindowControl = WindowControl; tt.Tag = WindowControl; panel.Controls.Add(tt); tt.Dock = DockStyle.Fill; tt.BringToFront(); tt.tbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); tt.treeView.GotFocus += new EventHandler(ctrl_GotFocus); tt.treeView.ContextMenuStrip = contextMenuStrip1; } else if (WindowControl.CtrlType == ControlType.TableTab) { TableTabEl tab = new TableTabEl(); tab.WindowControl = WindowControl; tab.CaptionText = "TabCtrl"; tab.ShowTitleBar = WindowControl.ShowTitleBar; tab.Tag = WindowControl; panel.Controls.Add(tab); tab.Dock = DockStyle.Fill; tab.BringToFront(); tab.tabControl.MouseClick += new MouseEventHandler(childCtrl_MouseClick); } else if (WindowControl.CtrlType == ControlType.ComboBox) { UIComboBoxEl cb = new UIComboBoxEl(); cb.CaptionText = WindowControl.Name + ":"; cb.WindowControl = WindowControl; cb.ShowTitleBar = WindowControl.ShowTitleBar; cb.Tag = WindowControl; panel.Controls.Add(cb); cb.Dock = DockStyle.Top; cb.BringToFront(); cb.lbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); cb.comboBox.MouseClick += new MouseEventHandler(childCtrl_MouseClick); } else if (WindowControl.CtrlType == ControlType.ListBox) { UIListBoxEl listBox = new UIListBoxEl(); listBox.CaptionText = WindowControl.Name; listBox.WindowControl = WindowControl; listBox.ShowTitleBar = WindowControl.ShowTitleBar; listBox.Tag = WindowControl; panel.Controls.Add(listBox); listBox.Dock = DockStyle.Fill; listBox.BringToFront(); listBox.tbTitle.MouseClick += new MouseEventHandler(childCtrl_MouseClick); listBox.listBox.MouseClick += new MouseEventHandler(childCtrl_MouseClick); listBox.ContextMenuStrip = contextMenuStrip1; } } }
public void UpdatePropertyGrid() { if (m_AttrType == AttrType.WindowControl) { if (ControlEl == null || ControlEl.Tag == null) { return; } IDesignEl designEl = (IDesignEl)ControlEl; if (designEl.GetCtrlType() == ControlType.NavBar) { UIToolbarEl toolbar = (UIToolbarEl)ControlEl; UIToolbarProp Setting = new UIToolbarProp(); Setting.称 = toolbar.WindowControl.Name; Setting.宽度 = toolbar.Width; Setting.高度 = toolbar.Height; Setting.停靠 = toolbar.Dock; propertyGrid.SelectedObject = Setting; propertyGrid.Refresh(); } else if (designEl.GetCtrlType() == ControlType.TableGrid) { TableGridEl te = (TableGridEl)ControlEl; TableGridProp Setting = new TableGridProp(); Setting.称 = te.WindowControl.Name; Setting.宽度 = te.Width; Setting.高度 = te.Height; Setting.停靠 = te.Dock; Setting.工具栏显示 = te.ShowToolBar; Setting.标题栏显示 = te.ShowTitleBar; propertyGrid.SelectedObject = Setting; propertyGrid.Refresh(); } else if (designEl.GetCtrlType() == ControlType.TableTree) { TableTreeEl tree = (TableTreeEl)ControlEl; TableTreeProp Setting = new TableTreeProp(); Setting.称 = tree.WindowControl.Name; Setting.宽度 = tree.Width; Setting.高度 = tree.Height; Setting.停靠 = tree.Dock; Setting.标题栏显示 = tree.ShowTitleBar; propertyGrid.SelectedObject = Setting; propertyGrid.Refresh(); } else if (designEl.GetCtrlType() == ControlType.ListBox) { UIListBoxEl list = (UIListBoxEl)ControlEl; UIListBoxProp Setting = new UIListBoxProp(); Setting.称 = list.WindowControl.Name; Setting.宽度 = list.Width; Setting.高度 = list.Height; Setting.停靠 = list.Dock; Setting.标题栏显示 = list.ShowTitleBar; propertyGrid.SelectedObject = Setting; propertyGrid.Refresh(); } else if (designEl.GetCtrlType() == ControlType.ComboBox) { UIComboBoxEl combo = (UIComboBoxEl)ControlEl; UIComboBoxProp Setting = new UIComboBoxProp(); Setting.称 = combo.WindowControl.Name; Setting.宽度 = combo.Width; Setting.高度 = combo.Height; Setting.停靠 = combo.Dock; Setting.标题栏显示 = combo.ShowTitleBar; propertyGrid.SelectedObject = Setting; propertyGrid.Refresh(); } else if (designEl.GetCtrlType() == ControlType.TableTab) { TableTabEl tab = (TableTabEl)ControlEl; TableGridEl grid = tab.GetCurTableGridEl(); TableTabProp Setting = new TableTabProp(); Setting.称 = tab.WindowControl.Name; Setting.宽度 = tab.Width; Setting.高度 = tab.Height; Setting.停靠 = tab.Dock; Setting.工具栏显示 = grid.ShowToolBar; Setting.标题栏显示 = tab.ShowTitleBar; propertyGrid.SelectedObject = Setting; propertyGrid.Refresh(); } } else { if (WindowEl == null || WindowEl.Window == null) { return; } ChildenWindowProp Setting = new ChildenWindowProp(); Setting.称 = WindowEl.Window.Name; Setting.宽度 = WindowEl.Width; Setting.高度 = WindowEl.Height; propertyGrid.SelectedObject = Setting; propertyGrid.Refresh(); } }