public static void Show(string title, string text, DialogBoxButtons buttons, DialogResultEventHandler eventHandler) { DialogBoxParameters dbParams = new DialogBoxParameters(); Size hudSize = UI.CurrentHud.Size; dbParams.DialogSize = new Size(500, 250); dbParams.DialogPos = new Vector2(hudSize.Width / 2 - dbParams.DialogSize.Width / 2, hudSize.Height / 2 - dbParams.DialogSize.Height / 2); dbParams.BtnOKSize = new Size(90, 30); dbParams.BtnCancelSize = new Size(90, 30); dbParams.ShowCaptionBar = true; dbParams.BtnOKTextColor = Color.White; dbParams.BtnCancelTextColor = Color.White; if (buttons == DialogBoxButtons.YesNo) { dbParams.BtnOKText = "Yes"; dbParams.BtnCancelText = "No"; } else { dbParams.BtnOKText = "Ok"; dbParams.BtnCancelText = "Cancel"; } if (buttons == DialogBoxButtons.Ok) { dbParams.BtnOKPos = new Vector2(394, 178); } else { dbParams.BtnOKPos = new Vector2(299, 178); dbParams.BtnCancelPos = new Vector2(394, 178); } Show(title, text, buttons, dbParams, eventHandler); }
DialogBox(string title, DialogBoxParameters dbParams, string text, DialogBoxButtons buttons) : base( string.Format("{0}_Dialog{1}", title, UI.CurrentHud.WindowManager.Count), title, dbParams.DialogPos, dbParams.DialogSize, defaultColors, dbParams.ShowCaptionBar) { isModal = true; myParams = dbParams; if (myParams.ShowCaptionBar) { containerPanel.Size = new Size(containerPanel.Size.Width, containerPanel.Size.Height - dbParams.BtnOKSize.Height - 5); captionBar.CloseButton.MouseClick += delegate(BaseControl ctl, MouseEventArgs args) { dialogResult = closeBehavior; OnDialogResultAvailable(this, dialogResult); }; } else { containerPanel.Position = new Vector2(); containerPanel.Size = new Size(myParams.DialogSize.Width, myParams.DialogSize.Height - (int)myParams.BtnOKPos.Y); borderStyle = UserInterface.BorderStyle.None; containerPanel.BorderStyle = UserInterface.BorderStyle.None; } BackgroundTexture = myParams.BkgrdTexture; TextStyle ts = new TextStyle(true, false, false, Color.White, Color.White, 16, "NWN2_TitleB", Alignment.Center, Alignment.Center); RichTextArea rta = new RichTextArea(title + "_Rta", new Vector2(0, 0), containerPanel.Size, text, ts); if (myParams.MessageFont != null) { rta.Font = myParams.MessageFont; } Add(rta); switch (buttons) { default: case DialogBoxButtons.Ok: closeBehavior = DialogResult.Ok; AddOKButton(new MouseEventHandler(ReturnOk)); break; case DialogBoxButtons.OkCancel: closeBehavior = DialogResult.Cancel; AddOKButton(new MouseEventHandler(ReturnOk)); AddCancelButton(new MouseEventHandler(ReturnCancel)); break; case DialogBoxButtons.YesNo: closeBehavior = DialogResult.No; AddOKButton(new MouseEventHandler(ReturnYes)); AddCancelButton(new MouseEventHandler(ReturnNo)); break; } }
public static void Show(string title, string text, DialogBoxButtons buttons, DialogBoxParameters dbParams, DialogResultEventHandler eventHandler) { HUD hud = UI.CurrentHud; hud.BeginDesign(); DialogBox dialog = new DialogBox(title, dbParams, text, buttons); hud.Add(dialog); hud.WindowManager.BringToFront(dialog); hud.EndDesign(); dialog.DialogResultAvailable += eventHandler; }
internal void AddButtons(DialogBoxButtons buttons) { DialogBoxButtonOp btn = (DialogBoxButtonOp)buttons; // Sin botones, poner solo Ok if (btn == DialogBoxButtonOp.None) { AddButton("Aceptar", DialogBoxResult.Ok); return; } // Poner botones seleccionados if ((btn & DialogBoxButtonOp.Ok) == DialogBoxButtonOp.Ok) { AddButton("Aceptar", DialogBoxResult.Ok); } if ((btn & DialogBoxButtonOp.Yes) == DialogBoxButtonOp.Yes) { AddButton("Si", DialogBoxResult.Yes); } if ((btn & DialogBoxButtonOp.No) == DialogBoxButtonOp.No) { AddButton("No", DialogBoxResult.No); } if ((btn & DialogBoxButtonOp.Abort) == DialogBoxButtonOp.Abort) { AddButton("Anular", DialogBoxResult.Abort); } if ((btn & DialogBoxButtonOp.Retry) == DialogBoxButtonOp.Retry) { AddButton("Reintentar", DialogBoxResult.Retry); } if ((btn & DialogBoxButtonOp.Ignore) == DialogBoxButtonOp.Ignore) { AddButton("Omitir", DialogBoxResult.Ignore); } if ((btn & DialogBoxButtonOp.IgnoreAll) == DialogBoxButtonOp.IgnoreAll) { AddButton("Omitir todos", DialogBoxResult.IgnoreAll); } if ((btn & DialogBoxButtonOp.Cancel) == DialogBoxButtonOp.Cancel) { AddButton("Cancelar", DialogBoxResult.Cancel); } }
public static DialogResult Show(string text, string title, DialogBoxButtons buttons, DialogBoxSettings settings) { var dialogBox = new DialogBox(settings, MiyagiSystem.Latest); dialogBox.CreateControls(text, title, buttons); while (dialogBox.dialogResult == DialogResult.None) { if (dialogBox.MiyagiSystem == null || !dialogBox.MiyagiSystem.Backend.MessagePump()) { dialogBox.Close(); return(DialogResult.None); } } dialogBox.Close(); return(dialogBox.dialogResult); }
public static DialogBoxResult Show(IWin32Window owner, string text, string caption = "", DialogBoxButtons buttons = DialogBoxButtons.Ok, DialogBoxIcon icon = DialogBoxIcon.None, string title = null, int defaultButton = 1, int timeOut = 0, DialogBoxTimeoutResult timeoutResult = DialogBoxTimeoutResult.Timeout, int disable = 0) { DialogBoxForm dg = new DialogBoxForm() { Title = title, Message = text, Caption = caption, Image = icon, DefaultButton = defaultButton, Timeout = timeOut, TimeoutResult = timeoutResult, Disable = disable, }; dg.AddButtons(buttons); return(dg.ShowDialog(owner)); }
public static DialogBoxResult Show(string text, string caption = "", DialogBoxButtons buttons = DialogBoxButtons.Ok, DialogBoxIcon icon = DialogBoxIcon.None, string title = null, int defaultButton = 1, int timeOut = 0, DialogBoxTimeoutResult timeoutResult = DialogBoxTimeoutResult.Timeout, int disable = 0) { return(Show(null, text, caption, buttons, icon, title, defaultButton, timeOut, timeoutResult, disable)); }
public static DialogResult Show(string title, string message, DialogBoxIcon icon, DialogBoxButtons buttons) { if (ThundershockPlatform.IsPlatform(Platform.Windows)) { var mainWindow = Process.GetCurrentProcess().MainWindowHandle; var type = icon switch { DialogBoxIcon.Information => MB_ICONINFORMATION, DialogBoxIcon.Warning => MB_ICONWARNING, DialogBoxIcon.Question => MB_ICONQUESTION, DialogBoxIcon.Error => MB_ICONSTOP, _ => MB_ICONINFORMATION } | buttons switch
private void CreateControls(string text, string title, DialogBoxButtons buttons) { Skin dialogBoxSkin = Skin ?? (Skin = Skin.CreateForDialogBox(this.MiyagiSystem)); Skin dialogBoxButtonSkin = ButtonSkin ?? (ButtonSkin = Skin.CreateForDialogBoxButton(this.MiyagiSystem)); // create main panel this.Controls.Add( this.mainPanel = new Panel { Movable = true, Size = this.size, Location = this.location, ResizeMode = ResizeModes.None, Skin = dialogBoxSkin }); // title label this.mainPanel.Controls.Add( new Label { Size = new Size(this.size.Width, this.size.Height / 4), Location = Point.Empty, Text = title, TextStyle = { Alignment = Alignment.TopLeft, Offset = this.labelTextOffset } }); // text label this.mainPanel.Controls.Add( new Label { Size = new Size(this.size.Width, this.size.Height / 4), Location = new Point(0, this.size.Height / 4), Text = text, TextStyle = { Alignment = Alignment.MiddleCenter, Offset = this.labelTextOffset } }); // buttons if (buttons.IsFlagSet(DialogBoxButtons.Ok)) { this.mainPanel.Controls.Add( this.buttonOk = new Button { Size = this.buttonSize, TextStyle = { Alignment = Alignment.MiddleCenter, Offset = this.buttonTextOffset, }, Skin = dialogBoxButtonSkin }); this.buttonOk.MouseClick += this.DialogBoxMouseClick; } if (buttons.IsFlagSet(DialogBoxButtons.Yes)) { this.mainPanel.Controls.Add( this.buttonYes = new Button { Size = this.buttonSize, TextStyle = { Alignment = Alignment.MiddleCenter, Offset = this.buttonTextOffset, }, Skin = dialogBoxButtonSkin }); this.buttonYes.MouseClick += this.DialogBoxMouseClick; } if (buttons.IsFlagSet(DialogBoxButtons.No)) { this.mainPanel.Controls.Add( this.buttonNo = new Button { Size = this.buttonSize, TextStyle = { Alignment = Alignment.MiddleCenter, Offset = this.buttonTextOffset, }, Skin = dialogBoxButtonSkin }); this.buttonNo.MouseClick += this.DialogBoxMouseClick; } if (buttons.IsFlagSet(DialogBoxButtons.Cancel)) { this.mainPanel.Controls.Add( this.buttonCancel = new Button { Size = this.buttonSize, TextStyle = { Alignment = Alignment.MiddleCenter, Offset = this.buttonTextOffset, }, Skin = dialogBoxButtonSkin }); this.buttonCancel.MouseClick += this.DialogBoxMouseClick; } // align buttons int buttonCount = this.mainPanel.Controls.Count - 2; int totalWidth = (this.buttonSize.Width * buttonCount) + ((this.buttonSize.Width / 10) * (buttonCount - 1)); int width = this.buttonSize.Width + (this.buttonSize.Width / 10); for (int i = 1; i <= buttonCount; i++) { int x = ((this.size.Width - totalWidth) / 2) + (width * (i - 1)); int y = (this.size.Height * 3) / 4; this.mainPanel.Controls[i + 1].Location = new Point(x, y); } this.SetButtonText(); }
public static DialogResult Show(string text, string title, DialogBoxButtons buttons) { return(Show(text, title, buttons, null)); }
public DialogBoxResult ShowUserDialog(string title, ViewNames viewName, DialogBoxButtons dialogBoxButtons) { throw new NotImplementedException(); }
private string ShowDialogBox(DialogBoxButtons btns) { return(Forms.DialogBox.Show(GetMessage(), txtCaption.Text, btns, GetDialogBoxIcon(), GetTitleText(), 1, timeOut: GetTimeout(), disable: GetDeshabilitado()).ToString()); }
/// <summary>Creates a dialog box</summary> /// <param name="Type"></param> /// <param name="Text"></param> /// <param name="Buttons"></param> public DialogBox(Icon.IconType Type, DialogBoxButtons Buttons, String Text) { //time to set up a window //MaxWidth-6 because 3 for the icon, 1 for spacing between icon and left, icon and text, and text and right //MaxHeight-5 because 1 for header, 1 for space between header and text, 1 for space between text and button, 1 for button, and 1 for footer FormattedText TextButFormatted = new FormattedText(Text, MaxWidth - 6, MaxHeight - 5); //find the minimum width of the window given the buttons: //5 is the base because that's the width of the icon; int MinWidth = 5; switch (Buttons) { case DialogBoxButtons.OK: //Single button (length of button, plus spacing with the left side of the window MinWidth += 12 + 1; break; case DialogBoxButtons.OKCancel: case DialogBoxButtons.YesNo: //two buttons //two single buttons MinWidth += 13 + 13; break; case DialogBoxButtons.YesNoCancel: case DialogBoxButtons.AbortRetryIgnore: //Three buttons //Three single buttons MinWidth += 13 * 3; break; default: break; } //Get the actual width of the window. //Max in case the text's width or height is smaller than the minimum required to display other elements. int WindowWidth = Math.Max(MinWidth, TextButFormatted.ActualWidth + 6); int WindowHeight = Math.Max(6, TextButFormatted.ActualHeight + 5); //OK now lets figure out which title/icon this will have. String Title; ConsoleColor HeaderBG = ConsoleColor.DarkBlue; switch (Type) { case Icon.IconType.ERROR: Title = "Error"; HeaderBG = ConsoleColor.DarkRed; break; case Icon.IconType.EXCLAMATION: Title = "Warning"; break; case Icon.IconType.INFORMATION: Title = "Information"; break; case Icon.IconType.QUESTION: Title = "Question"; break; default: Title = "Uh..."; break; } //Now we're ready to create the window MainWindow = new Window(false, true, ConsoleColor.Gray, HeaderBG, ConsoleColor.White, Title, WindowWidth, WindowHeight); //Now let's go ahead and populate the window MainWindow.AddElement(new Icon(MainWindow, Type, 1, 2)); MainWindow.AddElement(new Label(MainWindow, TextButFormatted, ConsoleColor.Gray, ConsoleColor.Black, 5, 2)); switch (Buttons) { case DialogBoxButtons.OK: OKButton = new FlaggedCloseButton(MainWindow, OKButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2); MainWindow.AddElement(OKButton); MainWindow.HighlightedElement = OKButton; OKButton.Highlighted = true; break; case DialogBoxButtons.OKCancel: OKButton = new FlaggedCloseButton(MainWindow, OKButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2); CancelButton = new FlaggedCloseButton(MainWindow, CancelButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2); MainWindow.AddElement(OKButton); MainWindow.AddElement(CancelButton); OKButton.NextElement = CancelButton; CancelButton.PreviousElement = OKButton; MainWindow.HighlightedElement = OKButton; OKButton.Highlighted = true; break; case DialogBoxButtons.YesNo: YesButton = new FlaggedCloseButton(MainWindow, YesButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2); NoButton = new FlaggedCloseButton(MainWindow, NoButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2); MainWindow.AddElement(YesButton); MainWindow.AddElement(NoButton); YesButton.NextElement = NoButton; NoButton.PreviousElement = YesButton; MainWindow.HighlightedElement = YesButton; YesButton.Highlighted = true; break; case DialogBoxButtons.YesNoCancel: YesButton = new FlaggedCloseButton(MainWindow, YesButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 39, MainWindow.Height - 2); NoButton = new FlaggedCloseButton(MainWindow, NoButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2); CancelButton = new FlaggedCloseButton(MainWindow, CancelButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2); MainWindow.AddElement(YesButton); MainWindow.AddElement(NoButton); MainWindow.AddElement(CancelButton); YesButton.NextElement = NoButton; NoButton.PreviousElement = YesButton; NoButton.NextElement = CancelButton; CancelButton.PreviousElement = NoButton; MainWindow.HighlightedElement = YesButton; YesButton.Highlighted = true; break; case DialogBoxButtons.AbortRetryIgnore: AbortButton = new FlaggedCloseButton(MainWindow, AbortButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 39, MainWindow.Height - 2); RetryButton = new FlaggedCloseButton(MainWindow, RetryButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 26, MainWindow.Height - 2); IgnoreButton = new FlaggedCloseButton(MainWindow, IgnoreButtonText, ConsoleColor.DarkGray, ConsoleColor.White, ConsoleColor.DarkBlue, MainWindow.Length - 13, MainWindow.Height - 2); MainWindow.AddElement(AbortButton); MainWindow.AddElement(RetryButton); MainWindow.AddElement(IgnoreButton); AbortButton.NextElement = RetryButton; RetryButton.PreviousElement = AbortButton; RetryButton.NextElement = IgnoreButton; IgnoreButton.PreviousElement = RetryButton; MainWindow.HighlightedElement = AbortButton; AbortButton.Highlighted = true; break; default: break; } }
/// <summary>Shows a dialog box by first creating it, executing it, then disposing of it.</summary> /// <param name="Type"></param> /// <param name="Buttons"></param> /// <param name="Text"></param> /// <returns>Returns a DialogBoxResult based on whichever button was pressed.</returns> public static DialogBoxResult ShowDialogBox(Icon.IconType Type, DialogBoxButtons Buttons, String Text) { return(new DialogBox(Type, Buttons, Text).Execute()); }