Method dialog.showProgress
Overload
Shows dialog with progress bar. Creates dialog in new thread and returns without waiting until it is closed.
public static dialog showProgress(bool marquee, string text1 = null, DText text2 = null, string buttons = "0 Cancel", DFlags flags = 0, AnyWnd owner = default, DText expandedText = null, DText footer = null, string title = null, DControls controls = null, Coord x = default, Coord y = default, screen screen = default, int secondsTimeout = 0)
Parameters
|
marquee (bool)
Let the progress bar animate without indicating a percent of work done. |
|
text1 (string)
Heading text. |
|
text2 (DText)
Message text. Can be string, or string with links like |
|
buttons (string)
List of button names or |
|
flags (DFlags)
Enum: CommandLinks, ExpandDown, Wider, XCancel, CenterOwner, CenterMouse, RawXY, MinimizeButton, Topmost, NoTopmost. |
|
owner (AnyWnd)
Owner window. See dialog.OwnerWindow. |
|
expandedText (DText)
Text in expander control. Can be string, or string with links like |
|
footer (DText)
Text at the bottom of the dialog. Can be string, or string with links like |
|
title (string)
Title bar text. If omitted, |
|
controls (DControls)
Can be used to add more controls and later get their values: checkbox, radio buttons, text input. |
|
x (Coord)
X position in screen. Default - screen center. Examples: |
|
y (Coord)
Y position in screen. Default - screen center. |
|
screen (screen)
See dialog.InScreen. Examples: |
|
secondsTimeout (int)
If not 0, after this time (seconds) auto-close the dialog and return dialog.Timeout. |
Returns
|
dialog
Variable that can be used to communicate with the dialog using these methods and properties: dialog.IsOpen, dialog.ThreadWaitForClosed, dialog.Result (when closed), dialog.Controls (when closed), dialog.DialogWindow, dialog.Send; through the |
Exceptions
|
Win32Exception
Failed to show dialog. Unlikely. |
Remarks
This function allows you to use most of the dialog features, but not all. Alternatively you can create a dialog class instance, set properties and call dialog.ShowDialogNoWait.
Examples
var pd = dialog.showProgress(false, "Working", buttons: "1 Stop", y: -1);
for(int i = 1; i <= 100; i++) {
if(!pd.IsOpen) { print.it(pd.Result); break; } //if the user closed the dialog
pd.Send.Progress(i); //don't need this if marquee
50.ms(); //do something in the loop
}
pd.Send.Close();