//Удалить контрол с формы private static void RemoveControlFromForm(DialogControl control) { control.Hide(); _masterForm.Controls.Remove(control); _masterForm.Menu = control._menu; _visibleDialogsCounter--; }
private static DialogResult showMessage(string message, DialogButtons buttons) { DebugHelper.WriteTraceEntry("DialogControl showMessage invoked"); DialogControl control = new DialogControl(); control._dialogresult = DialogResult.None; AddControlToForm(control); DebugHelper.WriteTraceEntry("DialogControl control to form added"); control.Show(message, buttons); DebugHelper.WriteTraceEntry("DialogControl resume layout"); DebugHelper.WriteTraceEntry("DialogControl MSG cycle beginning"); DebugHelper.FlushTraceBuffer(); MSG msg = new MSG(); while (GetMessage(out msg, IntPtr.Zero, 0, 0)) { TranslateMessage(ref msg); DispatchMessage(ref msg); if (control._dialogresult != DialogResult.None) { break; } } RemoveControlFromForm(control); DialogResult res = control._dialogresult; control.Dispose(); return(res); }
//Добавить контрол на форму private static void AddControlToForm(DialogControl control) { control.Location = new Point(0, 0); control.Size = _masterForm.ClientSize; control.Dock = DockStyle.Fill; control.Visible = false; control._initialized = true; _masterForm.Controls.Add(control); control.BringToFront(); _visibleDialogsCounter++; }
private static DialogResult showMessage(string message, DialogButtons buttons) { DebugHelper.WriteTraceEntry("DialogControl showMessage invoked"); DialogControl control = new DialogControl(); control._dialogresult = DialogResult.None; AddControlToForm(control); DebugHelper.WriteTraceEntry("DialogControl control to form added"); control.Show(message, buttons); DebugHelper.WriteTraceEntry("DialogControl resume layout"); DebugHelper.WriteTraceEntry("DialogControl MSG cycle beginning"); DebugHelper.FlushTraceBuffer(); MSG msg = new MSG(); while (GetMessage(out msg, IntPtr.Zero, 0, 0)) { TranslateMessage(ref msg); DispatchMessage(ref msg); if (control._dialogresult != DialogResult.None) break; } RemoveControlFromForm(control); DialogResult res = control._dialogresult; control.Dispose(); return res; }
//Удалить контрол с формы private static void RemoveControlFromForm(DialogControl control) { control.Hide(); _masterForm.Controls.Remove(control); _masterForm.Menu = control._menu; _visibleDialogsCounter--; }
//Добавить контрол на форму private static void AddControlToForm(DialogControl control) { control.Location = new Point(0, 0); control.Size = _masterForm.ClientSize; control.Dock = DockStyle.Fill; control.Visible = false; control._initialized = true; _masterForm.Controls.Add(control); control.BringToFront(); _visibleDialogsCounter++; }