private void LinkClick(object sender, ItemClickEventArgs e) { try { string Chinh = e.Item.Name.ToString(); if (ModifierKeys == Keys.Control && Chinh == "DaiLy") { } else { foreach (var form in MdiChildren.Where(frm => frm.GetType().Name == "frm" + Chinh)) { form.Activate(); return; } } XuLyGiaoDien.wait.ShowWaitForm(); var f = Activator.CreateInstance(Type.GetType(string.Format("CRM.frm{0}", Chinh), true)) as XtraForm; f.MdiParent = this; f.Text = e.Item.Caption; f.Show(); GridViewHelper.SetFromGrid(f); XuLyGiaoDien.FlushMemory(); } catch { XtraMessageBox.Show("Chức năng chưa được tích hợp hoặc đang bảo trì"); } if (XuLyGiaoDien.wait.IsSplashFormVisible) { XuLyGiaoDien.wait.CloseWaitForm(); } }
/// <summary> /// сохранить размеры окошка, координаты и его текущую вкладку /// </summary> private void SaveNonChartWindowsPlacement(TerminalBookmark leaving) { foreach (var child in MdiChildren.Where(c => c is IMdiNonChartWindow)) { var windowCode = ((IMdiNonChartWindow)child).WindowCode; var wnd = nonChartWindows.FirstOrDefault(w => w.Window == windowCode && ((leaving == null) || (w.ChartTab == leaving.Id))); if (wnd == null) { continue; } // размеры и координаты try { wnd.WindowPos = child.Location; wnd.WindowSize = child.Size; wnd.WindowState = child.WindowState.ToString(); wnd.CurrentTabIndex = ((IMdiNonChartWindow)child).WindowInnerTabPageIndex; } catch (ObjectDisposedException) { continue; } } }
private void ShowBookmarkChildren(TerminalBookmark bookmark) { bookmarkStrip.SelectedBookmark = bookmark; var tabTag = bookmark.Id; // сохранить все окна графиков foreach (var child in Charts.Where(child => child.bookmarkId != tabTag)) { child.SavePlacement(); child.Hide(); } // показать графики вкладки Charts.ForEach(c => { try { if (c.bookmarkId == tabTag) { c.Show(); } } catch (Exception ex) { Logger.ErrorFormat("Переключение на вкладку {0}: {1}", tabTag, ex); Logger.ErrorFormat("Window title is {0}", c.Text); Logger.ErrorFormat("Ticker is {0}", c.chart.Symbol); throw; } }); Charts.ForEach(c => { if (c.bookmarkId == tabTag) { c.RestorePlacement(); } }); // убрать окна Счет, Доходность, Чат и прочие, если их нет на свежеоткрытой вкладке foreach (var child in MdiChildren.Where(c => c is IMdiNonChartWindow)) { var windowCode = ((IMdiNonChartWindow)child).WindowCode; if (!nonChartWindows.Any(w => w.Window == windowCode && w.ChartTab == tabTag)) { child.Close(); } } // показать окна (Счет, Доходность, Чат ...) текущей вкладки и установить им размеры foreach (var wind in nonChartWindows.Where(w => w.ChartTab == tabTag)) { EnsureShowAndPlaceNonChartWindow(wind); } MenuItemVerticalClick(this, EventArgs.Empty); }
private void ShowNewForm(object sender, EventArgs e) { dlgNieuw dlg = new dlgNieuw(); if (dlg.ShowDialog() == DialogResult.OK) { string p = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "DrawIt"); int i = 1; switch (dlg.Resultaat) { case dlgNieuw.enNieuwDocType.Pictogram: string[] t = MdiChildren.Where(T => T.GetType() == typeof(frmIcon)).Select(T => T.Text).ToArray(); while (File.Exists(Path.Combine(p, "Pictogram " + i)) | t.Contains("Pictogram " + i)) { i++; } frmIcon icon_form = new frmIcon(); icon_form.MdiParent = this; //MDI; icon_form.Text = "Icoon " + i; icon_form.Show(); break; case dlgNieuw.enNieuwDocType.Cursor: break; case dlgNieuw.enNieuwDocType.Afbeelding: string[] u = MdiChildren.Where(T => T.GetType() == typeof(frmImageEditor)).Select(T => T.Text).ToArray(); while (File.Exists(Path.Combine(p, "Afbeelding " + i)) | u.Contains("Afbeelding " + i)) { i++; } frmImageEditor img_form = new frmImageEditor(); img_form.MdiParent = this; //MDI; img_form.Text = "Afbeelding " + i; img_form.Show(); break; default: string[] v = MdiChildren.Where(T => T.GetType() == typeof(frmTekenen)).Select(T => T.Text).ToArray(); while (File.Exists(Path.Combine(p, "Tekening " + i + ".tek")) | v.Contains("Tekening " + i)) { i++; } frmTekenen tek_form = new frmTekenen(); tek_form.MdiParent = this; tek_form.Text = "Tekening " + i; tek_form.Show(); tek_form.EndMove += Tek_form_EndMove; tek_form.EndPan += Tek_form_EndPan; break; } } }
private void Hoofdscherm_FormClosing(object sender, FormClosingEventArgs e) { IDocument[] docs_changed = MdiChildren.Where(T => Implements(T, typeof(IDocument))).Select(T => (IDocument)T).Where(T => T.Changed).ToArray(); if (docs_changed.Length != 0) { if (e.CloseReason == CloseReason.TaskManagerClosing | e.CloseReason == CloseReason.WindowsShutDown) { string map = Path.Combine(Program.EnvironmentFolder, "Backup"); if (!Directory.Exists(map)) { Directory.CreateDirectory(map); } foreach (IDocument doc in docs_changed) { doc.SaveBackup(map); } } else { frmSave frm = new frmSave(); frm.SetItems(docs_changed.Select(T => T.PreferredFileName)); switch (frm.ShowDialog()) { case DialogResult.OK: DialogResult dr; foreach (IDocument doc in docs_changed) { doc.Save(out dr); // indien bestand reeds op schijf -> dr = DialogResult.None // indien nieuw bestand + OK-klik -> dr = DialogResult.OK // indien nieuw bestand + Cancel-klik -> dr = DialogResult.Cancel if (dr == DialogResult.Cancel) { e.Cancel = true; return; } else { doc.Close(); } } break; case DialogResult.Ignore: break; default: e.Cancel = true; break; } } } }
private void OpenOrActivateTab <TForm>(TForm window) where TForm : Form, new() { // Check if a window is already open foreach (var mdiChild in MdiChildren.Where(mdiChild => mdiChild.GetType() == typeof(TForm))) { mdiChild.Activate(); return; } window.MdiParent = this; window.Show(); }
public void OpenForm(Type typeform) { foreach (var frm in MdiChildren.Where(frm => frm.GetType() == typeform)) { frm.Activate(); return; } var form = (Form)(Activator.CreateInstance(typeform)); BeginInvoke(new Action(() => { form.MdiParent = this; form.Show(); })); }
public void EnsureStatisticsWindow(bool instantCalculation = false) { foreach (var form in MdiChildren.Where(form => form is AccountTradeResultsForm)) { form.Focus(); return; } var child = new AccountTradeResultsForm { InstantCalculation = instantCalculation }; SetupNonMdiForm(child); child.Show(); }
private void ShowOrActivateForm <T>() where T : Form { var k = MdiChildren.Where(c => c.GetType() == typeof(T)).FirstOrDefault(); if (k == null) { k = (Form)Activator.CreateInstance(typeof(T)); k.MdiParent = this; k.WindowState = FormWindowState.Maximized; k.Show(); } else { k.Activate(); } }
/// <summary> /// 根据名称查找对应的窗体 /// </summary> /// <param name="text"></param> /// <returns></returns> private DockContent FindDocument(string text) { if (dockMain.DocumentStyle == DocumentStyle.DockingWindow) { foreach (DockContent content in dockMain.Contents) { if (content.DockHandler.TabText == text) { return(content); } } Form m = MdiChildren.Where(p => p.Text.Equals(text)).FirstOrDefault(); return(m == null ? null : m as DockContent); } else { return(null); } }
private void bbiGetEmails_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var frm = MdiChildren.Where(_ => _.GetType() == typeof(frmMailList)).FirstOrDefault(); if (frm != null) { frm.BringToFront(); } else { frmMailList list = new frmMailList() { MdiParent = this, WindowState = FormWindowState.Maximized }; list.Connect(bbiServer.EditValue.ToString(), Convert.ToInt32(bbiPort.EditValue), bbiLogin.EditValue.ToString(), bbiPassowrd.EditValue.ToString()); list.Show(); } }
/* * Обработка MouseUp по кнопку, ассоциируемой с таблицей (TableButton) */ public void TableBtn_X_MouseUp(object sender, MouseEventArgs e) { var button = (Button)sender; TableForm tableForm = new TableForm(); tableForm.Init( Model.TableDatas.Where(i => i.Descriptor.Name == button.Text).ElementAt(0), TableForm_FormClosed, TableForm_ModelChanged); switch (e.Button) { case MouseButtons.Left: { // если окно таблицы, с которой связяна эта кнопка, НЕ открыто if (!MdiChildren.Any(i => i.Text == button.Text)) { var tableData = TableData.Get(tableForm); Model.AddExistingTable(tableData); } else { Form mdiForm = MdiChildren.Where(i => i.Text == button.Text).ElementAt(0); mdiForm.BringToFront(); } break; } case MouseButtons.Right: { CtxMenuTableButtonName = button.Text; CtxMS_TableBtnX.Show(Cursor.Position); break; } } }
private void QuickSaveProjectToolStripMenuItem_Click(object sender, EventArgs e) { try { this.projectBindingSource.EndEdit(); if (projectFile == null) { saveProjectToolStripMenuItem_Click(sender, e); return; } this.service.Save(projectFile); this.projectBindingSource.ResetBindings(false); this.service.FirePropertyChanged("CurrentProject"); if (MdiChildren.Any(x => x.GetType() == typeof(mdiInterview))) { foreach (mdiInterview frm in MdiChildren.Where(x => x.GetType() == typeof(mdiInterview))) { if (frm.cboScoring != null) { for (int i = 0; i <= frm.cboScoring.GetUpperBound(0); i++) { for (int j = 0; j <= frm.cboScoring.GetUpperBound(1); j++) { frm.cboScoring[i, j].BackColor = Color.White; } } } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error while saving a project"); } }
private void menuItem11_Click(object sender, EventArgs e) { var dockPanel = DockPanel; if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) { var activeMdi = ActiveMdiChild; foreach (var form in MdiChildren.Where(form => form != activeMdi)) { form.Close(); } } else { for (int i = 0; i < dockPanel.DocumentsToArray().Length; i++) { var document = dockPanel.DocumentsToArray()[i]; if (!document.DockHandler.IsActivated) { document.DockHandler.Close(); } } } }
private void StationToolStripMenuItem_Click(object sender, EventArgs e) { bool mdiisopen = false; ToolStripMenuItem tsm = (ToolStripMenuItem)sender; foreach (Form mdiChild in MdiChildren.Where(mdiChild => mdiChild.Text.Contains(tsm.Tag.ToString()))) { mdiisopen = true; mdiChild.Activate(); } if (mdiisopen) { return; } StatusMonitorControlForm smcProForm = new StatusMonitorControlForm { MdiParent = this, WindowState = FormWindowState.Normal, Para = _para, StationId = tsm.Tag.ToString() }; smcProForm.Show(); }
private void LayoutChildren(MdiLayout layout) { var children = MdiChildren.Where(c => c.Visible).ToList(); if (children.Count == 0) { return; } // размеры окна var mdiSize = GetMdiClientWindow().ClientSize; if (mdiSize.Height < 40) { mdiSize = new Size(mdiSize.Width, 40); } if (mdiSize.Width < 65) { mdiSize = new Size(65, mdiSize.Height); } var capH = SystemInformation.CaptionHeight; const int capW = 60; // одно окошко развернуть во всю ширину if (children.Count == 1) { children[0].WindowState = FormWindowState.Normal; children[0].Location = new Point(0, 0); children[0].Size = mdiSize; return; } // упорядочить каскадом if (layout == MdiLayout.Cascade) { const int maxInRow = 6; var delta = capH * Math.Min(maxInRow - 1, children.Count - 1); var wSize = new Size(mdiSize.Width - delta, mdiSize.Height - delta); var leftTop = new Point(0, 0); var counter = 0; foreach (var window in children) { window.WindowState = FormWindowState.Normal; window.Location = leftTop; window.Size = wSize; leftTop = new Point(leftTop.X + capH, leftTop.Y + capH); counter++; if (counter == maxInRow) { leftTop = new Point(0, 0); } } return; } // дать окошкам больше места if (mdiSize.Height < 90) { mdiSize = new Size(mdiSize.Width, 90); } if (mdiSize.Width < 120) { mdiSize = new Size(120, mdiSize.Height); } // выстроить окошки в линию по вертикали или по горизонтали if (children.Count < 4) { var w = layout == MdiLayout.TileHorizontal ? mdiSize.Width / children.Count : mdiSize.Width; var h = layout == MdiLayout.TileVertical ? mdiSize.Height / children.Count : mdiSize.Height; var wSize = new Size(w, h); var stepX = layout == MdiLayout.TileHorizontal ? w : 0; var stepY = layout == MdiLayout.TileVertical ? h : 0; var leftTop = new Point(0, 0); foreach (var window in children) { window.WindowState = FormWindowState.Normal; window.Location = leftTop; window.Size = wSize; leftTop = new Point(leftTop.X + stepX, leftTop.Y + stepY); } return; } // дать окошкам еще больше места и расположить в виде таблицы if (mdiSize.Height < 120) { mdiSize = new Size(mdiSize.Width, 120); } if (mdiSize.Width < 160) { mdiSize = new Size(160, mdiSize.Height); } // посчитать количество строк и столбцов var rows = (int)Math.Sqrt(children.Count); var cols = children.Count / rows; var mod = children.Count - cols * rows; if (mod > 0) { cols++; } // разместить var ht = mdiSize.Height / rows; var wd = mdiSize.Width / cols; var size = new Size(wd, ht); var top = 0; var childIndex = 0; for (var row = 0; row < rows; row++) { var left = 0; for (var col = 0; col < cols; col++) { var child = children[childIndex++]; child.WindowState = FormWindowState.Normal; child.Location = new Point(left, top); child.Size = size; left += wd; } top += ht; var itemsLeft = children.Count - childIndex; if (itemsLeft > 0 && itemsLeft < cols) { cols = itemsLeft; wd = mdiSize.Width / cols; size = new Size(wd, ht); } } }