Initialize
BIN
.vs/MessageBoxEx.git/v16/.suo
Normal file
BIN
Daten/Icons/Customer/Icons/Construction.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Email.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Error.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Information.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Instruction.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Password.ico
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
Daten/Icons/Customer/Icons/Question.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Telephone.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Tips.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/Icons/Warning.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/PNG/Construction.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
Daten/Icons/Customer/PNG/Email.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
Daten/Icons/Customer/PNG/Error.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
Daten/Icons/Customer/PNG/Information.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
Daten/Icons/Customer/PNG/Instruction.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
Daten/Icons/Customer/PNG/Password.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
Daten/Icons/Customer/PNG/Question.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
Daten/Icons/Customer/PNG/Telephone.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
Daten/Icons/Customer/PNG/Tips.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
Daten/Icons/Customer/PNG/Warning.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
Daten/Icons/Windows/Exclamation.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
Daten/Icons/Windows/Hand.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
Daten/Icons/Windows/Question.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
Daten/MessageBoxExDemo/.vs/MessageBoxExDemo/v16/.suo
Normal file
29
Daten/MessageBoxExDemo/Backup/MessageBoxExDemo.sln
Normal file
@ -0,0 +1,29 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessageBoxExDemo", "MessageBoxExDemo\MessageBoxExDemo.csproj", "{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessageBoxExLib", "MessageBoxExLib\MessageBoxExLib.csproj", "{4847D05C-EB58-49D9-B280-D22F8FF01857}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Debug.ActiveCfg = Debug|.NET
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Debug.Build.0 = Debug|.NET
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Release.ActiveCfg = Release|.NET
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Release.Build.0 = Release|.NET
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Debug.ActiveCfg = Debug|.NET
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Debug.Build.0 = Debug|.NET
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Release.ActiveCfg = Release|.NET
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Release.Build.0 = Release|.NET
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
Daten/MessageBoxExDemo/Backup/MessageBoxExDemo/App.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
@ -0,0 +1,124 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP
|
||||
ProjectType = "Local"
|
||||
ProductVersion = "7.10.3077"
|
||||
SchemaVersion = "2.0"
|
||||
ProjectGuid = "{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}"
|
||||
>
|
||||
<Build>
|
||||
<Settings
|
||||
ApplicationIcon = "App.ico"
|
||||
AssemblyKeyContainerName = ""
|
||||
AssemblyName = "MessageBoxExDemo"
|
||||
AssemblyOriginatorKeyFile = ""
|
||||
DefaultClientScript = "JScript"
|
||||
DefaultHTMLPageLayout = "Grid"
|
||||
DefaultTargetSchema = "IE50"
|
||||
DelaySign = "false"
|
||||
OutputType = "WinExe"
|
||||
PreBuildEvent = ""
|
||||
PostBuildEvent = ""
|
||||
RootNamespace = "MessageBoxExDemo"
|
||||
RunPostBuildEvent = "OnBuildSuccess"
|
||||
StartupObject = ""
|
||||
>
|
||||
<Config
|
||||
Name = "Debug"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "DEBUG;TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "true"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "false"
|
||||
OutputPath = "bin\Debug\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "false"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "true"
|
||||
OutputPath = "bin\Release\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
</Settings>
|
||||
<References>
|
||||
<Reference
|
||||
Name = "System"
|
||||
AssemblyName = "System"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Data"
|
||||
AssemblyName = "System.Data"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Drawing"
|
||||
AssemblyName = "System.Drawing"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Windows.Forms"
|
||||
AssemblyName = "System.Windows.Forms"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.XML"
|
||||
AssemblyName = "System.Xml"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "MessageBoxExLib"
|
||||
Project = "{4847D05C-EB58-49D9-B280-D22F8FF01857}"
|
||||
Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
|
||||
/>
|
||||
</References>
|
||||
</Build>
|
||||
<Files>
|
||||
<Include>
|
||||
<File
|
||||
RelPath = "App.ico"
|
||||
BuildAction = "Content"
|
||||
/>
|
||||
<File
|
||||
RelPath = "AssemblyInfo.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExDemoForm.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExDemoForm.resx"
|
||||
DependentUpon = "MessageBoxExDemoForm.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
</Include>
|
||||
</Files>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
@ -0,0 +1,854 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Data;
|
||||
using System.Globalization;
|
||||
using System.Threading;
|
||||
|
||||
using Utils.MessageBoxExLib;
|
||||
|
||||
namespace MessageBoxExDemo
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class MessageBoxExDemoForm : System.Windows.Forms.Form
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private System.Windows.Forms.Button btnShowCustom;
|
||||
private System.Windows.Forms.GroupBox grpBoxIcon;
|
||||
private System.Windows.Forms.RadioButton radioButton4;
|
||||
private System.Windows.Forms.RadioButton radioButton3;
|
||||
private System.Windows.Forms.RadioButton radioButton2;
|
||||
private System.Windows.Forms.RadioButton radioButton1;
|
||||
private System.Windows.Forms.ListView listViewButtons;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader1;
|
||||
private System.Windows.Forms.TextBox txtMessage;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TextBox txtCaption;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.RadioButton radioButton5;
|
||||
private System.Windows.Forms.TextBox txtSaveResponse;
|
||||
private System.Windows.Forms.CheckBox chbAllowSaveResponse;
|
||||
private System.Windows.Forms.TextBox txtResult;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.ListView listViewMessageBoxes;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader2;
|
||||
private System.Windows.Forms.Button btnAddMessageBox;
|
||||
private System.Windows.Forms.TextBox txtName;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.TextBox txtButtonText;
|
||||
private System.Windows.Forms.Label ButtonText;
|
||||
private System.Windows.Forms.TextBox txtButtonVal;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.CheckBox chbIsCancel;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Button btnAddButton;
|
||||
private System.Windows.Forms.TextBox txtButtonHelp;
|
||||
private System.Windows.Forms.CheckBox chbUseSavedResponse;
|
||||
private System.Windows.Forms.CheckBox chbPlayAlert;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.TextBox txtTimeout;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.ComboBox cmbTimeoutResult;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.ComponentModel.IContainer components;
|
||||
#endregion
|
||||
|
||||
#region Ctor/Dtor
|
||||
public MessageBoxExDemoForm()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if (components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("Ok");
|
||||
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("Cancel");
|
||||
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("Yes");
|
||||
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("No");
|
||||
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("Abort");
|
||||
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("Retry");
|
||||
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem("Ignore");
|
||||
this.btnShowCustom = new System.Windows.Forms.Button();
|
||||
this.grpBoxIcon = new System.Windows.Forms.GroupBox();
|
||||
this.radioButton5 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton4 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton3 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton2 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton1 = new System.Windows.Forms.RadioButton();
|
||||
this.listViewButtons = new System.Windows.Forms.ListView();
|
||||
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
|
||||
this.txtMessage = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.txtCaption = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.chbAllowSaveResponse = new System.Windows.Forms.CheckBox();
|
||||
this.txtSaveResponse = new System.Windows.Forms.TextBox();
|
||||
this.txtResult = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.listViewMessageBoxes = new System.Windows.Forms.ListView();
|
||||
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
|
||||
this.btnAddMessageBox = new System.Windows.Forms.Button();
|
||||
this.txtName = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.txtButtonHelp = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.chbIsCancel = new System.Windows.Forms.CheckBox();
|
||||
this.txtButtonVal = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.txtButtonText = new System.Windows.Forms.TextBox();
|
||||
this.ButtonText = new System.Windows.Forms.Label();
|
||||
this.btnAddButton = new System.Windows.Forms.Button();
|
||||
this.chbUseSavedResponse = new System.Windows.Forms.CheckBox();
|
||||
this.chbPlayAlert = new System.Windows.Forms.CheckBox();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.txtTimeout = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.cmbTimeoutResult = new System.Windows.Forms.ComboBox();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.grpBoxIcon.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnShowCustom
|
||||
//
|
||||
this.btnShowCustom.Location = new System.Drawing.Point(752, 328);
|
||||
this.btnShowCustom.Name = "btnShowCustom";
|
||||
this.btnShowCustom.Size = new System.Drawing.Size(160, 23);
|
||||
this.btnShowCustom.TabIndex = 3;
|
||||
this.btnShowCustom.Text = "Show Custom MessageBox";
|
||||
this.toolTip1.SetToolTip(this.btnShowCustom, "Show the currently selected message box from the list");
|
||||
this.btnShowCustom.Click += new System.EventHandler(this.btnShowCustom_Click);
|
||||
//
|
||||
// grpBoxIcon
|
||||
//
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton5);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton4);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton3);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton2);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton1);
|
||||
this.grpBoxIcon.Location = new System.Drawing.Point(448, 216);
|
||||
this.grpBoxIcon.Name = "grpBoxIcon";
|
||||
this.grpBoxIcon.Size = new System.Drawing.Size(136, 184);
|
||||
this.grpBoxIcon.TabIndex = 15;
|
||||
this.grpBoxIcon.TabStop = false;
|
||||
this.grpBoxIcon.Text = "Icon";
|
||||
//
|
||||
// radioButton5
|
||||
//
|
||||
this.radioButton5.Location = new System.Drawing.Point(16, 152);
|
||||
this.radioButton5.Name = "radioButton5";
|
||||
this.radioButton5.TabIndex = 4;
|
||||
this.radioButton5.Text = "None";
|
||||
//
|
||||
// radioButton4
|
||||
//
|
||||
this.radioButton4.Location = new System.Drawing.Point(16, 120);
|
||||
this.radioButton4.Name = "radioButton4";
|
||||
this.radioButton4.TabIndex = 2;
|
||||
this.radioButton4.Text = "Question";
|
||||
//
|
||||
// radioButton3
|
||||
//
|
||||
this.radioButton3.Location = new System.Drawing.Point(16, 56);
|
||||
this.radioButton3.Name = "radioButton3";
|
||||
this.radioButton3.TabIndex = 1;
|
||||
this.radioButton3.Text = "Exclamation";
|
||||
//
|
||||
// radioButton2
|
||||
//
|
||||
this.radioButton2.Location = new System.Drawing.Point(16, 88);
|
||||
this.radioButton2.Name = "radioButton2";
|
||||
this.radioButton2.TabIndex = 3;
|
||||
this.radioButton2.Text = "Hand";
|
||||
//
|
||||
// radioButton1
|
||||
//
|
||||
this.radioButton1.Checked = true;
|
||||
this.radioButton1.Location = new System.Drawing.Point(16, 24);
|
||||
this.radioButton1.Name = "radioButton1";
|
||||
this.radioButton1.TabIndex = 0;
|
||||
this.radioButton1.TabStop = true;
|
||||
this.radioButton1.Text = "Asterisk";
|
||||
//
|
||||
// listViewButtons
|
||||
//
|
||||
this.listViewButtons.CheckBoxes = true;
|
||||
this.listViewButtons.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1});
|
||||
listViewItem1.StateImageIndex = 0;
|
||||
listViewItem2.StateImageIndex = 0;
|
||||
listViewItem3.StateImageIndex = 0;
|
||||
listViewItem4.StateImageIndex = 0;
|
||||
listViewItem5.StateImageIndex = 0;
|
||||
listViewItem6.StateImageIndex = 0;
|
||||
listViewItem7.StateImageIndex = 0;
|
||||
this.listViewButtons.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
|
||||
listViewItem1,
|
||||
listViewItem2,
|
||||
listViewItem3,
|
||||
listViewItem4,
|
||||
listViewItem5,
|
||||
listViewItem6,
|
||||
listViewItem7});
|
||||
this.listViewButtons.Location = new System.Drawing.Point(296, 216);
|
||||
this.listViewButtons.Name = "listViewButtons";
|
||||
this.listViewButtons.Size = new System.Drawing.Size(136, 184);
|
||||
this.listViewButtons.TabIndex = 14;
|
||||
this.listViewButtons.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// columnHeader1
|
||||
//
|
||||
this.columnHeader1.Text = "Buttons";
|
||||
this.columnHeader1.Width = 130;
|
||||
//
|
||||
// txtMessage
|
||||
//
|
||||
this.txtMessage.Location = new System.Drawing.Point(72, 112);
|
||||
this.txtMessage.Multiline = true;
|
||||
this.txtMessage.Name = "txtMessage";
|
||||
this.txtMessage.Size = new System.Drawing.Size(280, 80);
|
||||
this.txtMessage.TabIndex = 5;
|
||||
this.txtMessage.Text = "<Message>";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(16, 112);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(47, 17);
|
||||
this.label2.TabIndex = 4;
|
||||
this.label2.Text = "Message";
|
||||
//
|
||||
// txtCaption
|
||||
//
|
||||
this.txtCaption.Location = new System.Drawing.Point(72, 72);
|
||||
this.txtCaption.Name = "txtCaption";
|
||||
this.txtCaption.Size = new System.Drawing.Size(280, 21);
|
||||
this.txtCaption.TabIndex = 3;
|
||||
this.txtCaption.Text = "<Caption>";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(16, 72);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(42, 17);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Caption";
|
||||
//
|
||||
// chbAllowSaveResponse
|
||||
//
|
||||
this.chbAllowSaveResponse.Location = new System.Drawing.Point(80, 408);
|
||||
this.chbAllowSaveResponse.Name = "chbAllowSaveResponse";
|
||||
this.chbAllowSaveResponse.Size = new System.Drawing.Size(144, 24);
|
||||
this.chbAllowSaveResponse.TabIndex = 16;
|
||||
this.chbAllowSaveResponse.Text = "Allow Save Response";
|
||||
//
|
||||
// txtSaveResponse
|
||||
//
|
||||
this.txtSaveResponse.Location = new System.Drawing.Point(82, 432);
|
||||
this.txtSaveResponse.Multiline = true;
|
||||
this.txtSaveResponse.Name = "txtSaveResponse";
|
||||
this.txtSaveResponse.Size = new System.Drawing.Size(272, 80);
|
||||
this.txtSaveResponse.TabIndex = 17;
|
||||
this.txtSaveResponse.Text = "<Save Response Text>";
|
||||
//
|
||||
// txtResult
|
||||
//
|
||||
this.txtResult.Location = new System.Drawing.Point(752, 512);
|
||||
this.txtResult.Name = "txtResult";
|
||||
this.txtResult.Size = new System.Drawing.Size(160, 21);
|
||||
this.txtResult.TabIndex = 7;
|
||||
this.txtResult.Text = "<Result>";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(712, 512);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(35, 17);
|
||||
this.label3.TabIndex = 6;
|
||||
this.label3.Text = "Result";
|
||||
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// listViewMessageBoxes
|
||||
//
|
||||
this.listViewMessageBoxes.Activation = System.Windows.Forms.ItemActivation.TwoClick;
|
||||
this.listViewMessageBoxes.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader2});
|
||||
this.listViewMessageBoxes.Location = new System.Drawing.Point(752, 96);
|
||||
this.listViewMessageBoxes.MultiSelect = false;
|
||||
this.listViewMessageBoxes.Name = "listViewMessageBoxes";
|
||||
this.listViewMessageBoxes.Size = new System.Drawing.Size(192, 224);
|
||||
this.listViewMessageBoxes.TabIndex = 2;
|
||||
this.listViewMessageBoxes.View = System.Windows.Forms.View.Details;
|
||||
this.listViewMessageBoxes.ItemActivate += new System.EventHandler(this.listViewMessageBoxes_ItemActivate);
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
this.columnHeader2.Text = "MessageBoxes";
|
||||
this.columnHeader2.Width = 183;
|
||||
//
|
||||
// btnAddMessageBox
|
||||
//
|
||||
this.btnAddMessageBox.Location = new System.Drawing.Point(608, 192);
|
||||
this.btnAddMessageBox.Name = "btnAddMessageBox";
|
||||
this.btnAddMessageBox.Size = new System.Drawing.Size(128, 23);
|
||||
this.btnAddMessageBox.TabIndex = 1;
|
||||
this.btnAddMessageBox.Text = "Add MessageBox >>";
|
||||
this.toolTip1.SetToolTip(this.btnAddMessageBox, "Create a message box with the specified information and add it to the list");
|
||||
this.btnAddMessageBox.Click += new System.EventHandler(this.btnAddMessageBox_Click);
|
||||
//
|
||||
// txtName
|
||||
//
|
||||
this.txtName.Location = new System.Drawing.Point(72, 32);
|
||||
this.txtName.Name = "txtName";
|
||||
this.txtName.Size = new System.Drawing.Size(280, 21);
|
||||
this.txtName.TabIndex = 1;
|
||||
this.txtName.Text = "<Name>";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(24, 32);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(33, 17);
|
||||
this.label4.TabIndex = 0;
|
||||
this.label4.Text = "Name";
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.txtButtonHelp);
|
||||
this.groupBox1.Controls.Add(this.label6);
|
||||
this.groupBox1.Controls.Add(this.chbIsCancel);
|
||||
this.groupBox1.Controls.Add(this.txtButtonVal);
|
||||
this.groupBox1.Controls.Add(this.label5);
|
||||
this.groupBox1.Controls.Add(this.txtButtonText);
|
||||
this.groupBox1.Controls.Add(this.ButtonText);
|
||||
this.groupBox1.Controls.Add(this.grpBoxIcon);
|
||||
this.groupBox1.Controls.Add(this.listViewButtons);
|
||||
this.groupBox1.Controls.Add(this.txtMessage);
|
||||
this.groupBox1.Controls.Add(this.label2);
|
||||
this.groupBox1.Controls.Add(this.txtCaption);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Controls.Add(this.chbAllowSaveResponse);
|
||||
this.groupBox1.Controls.Add(this.txtSaveResponse);
|
||||
this.groupBox1.Controls.Add(this.btnAddButton);
|
||||
this.groupBox1.Controls.Add(this.txtName);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Location = new System.Drawing.Point(8, 8);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(592, 528);
|
||||
this.groupBox1.TabIndex = 0;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "MessageBox";
|
||||
//
|
||||
// txtButtonHelp
|
||||
//
|
||||
this.txtButtonHelp.Location = new System.Drawing.Point(88, 280);
|
||||
this.txtButtonHelp.Name = "txtButtonHelp";
|
||||
this.txtButtonHelp.Size = new System.Drawing.Size(96, 21);
|
||||
this.txtButtonHelp.TabIndex = 11;
|
||||
this.txtButtonHelp.Text = "<Help Text>";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(16, 280);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(52, 17);
|
||||
this.label6.TabIndex = 10;
|
||||
this.label6.Text = "Help Text";
|
||||
//
|
||||
// chbIsCancel
|
||||
//
|
||||
this.chbIsCancel.Location = new System.Drawing.Point(88, 312);
|
||||
this.chbIsCancel.Name = "chbIsCancel";
|
||||
this.chbIsCancel.Size = new System.Drawing.Size(72, 24);
|
||||
this.chbIsCancel.TabIndex = 12;
|
||||
this.chbIsCancel.Text = "Is Cancel";
|
||||
//
|
||||
// txtButtonVal
|
||||
//
|
||||
this.txtButtonVal.Location = new System.Drawing.Point(88, 248);
|
||||
this.txtButtonVal.Name = "txtButtonVal";
|
||||
this.txtButtonVal.Size = new System.Drawing.Size(96, 21);
|
||||
this.txtButtonVal.TabIndex = 9;
|
||||
this.txtButtonVal.Text = "<Button Value>";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(16, 248);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(68, 17);
|
||||
this.label5.TabIndex = 8;
|
||||
this.label5.Text = "Button Value";
|
||||
//
|
||||
// txtButtonText
|
||||
//
|
||||
this.txtButtonText.Location = new System.Drawing.Point(88, 216);
|
||||
this.txtButtonText.Name = "txtButtonText";
|
||||
this.txtButtonText.Size = new System.Drawing.Size(96, 21);
|
||||
this.txtButtonText.TabIndex = 7;
|
||||
this.txtButtonText.Text = "<Button Text>";
|
||||
//
|
||||
// ButtonText
|
||||
//
|
||||
this.ButtonText.AutoSize = true;
|
||||
this.ButtonText.Location = new System.Drawing.Point(16, 216);
|
||||
this.ButtonText.Name = "ButtonText";
|
||||
this.ButtonText.Size = new System.Drawing.Size(59, 17);
|
||||
this.ButtonText.TabIndex = 6;
|
||||
this.ButtonText.Text = "ButtonText";
|
||||
//
|
||||
// btnAddButton
|
||||
//
|
||||
this.btnAddButton.Location = new System.Drawing.Point(192, 216);
|
||||
this.btnAddButton.Name = "btnAddButton";
|
||||
this.btnAddButton.Size = new System.Drawing.Size(88, 23);
|
||||
this.btnAddButton.TabIndex = 13;
|
||||
this.btnAddButton.Text = "Add Button >>";
|
||||
this.toolTip1.SetToolTip(this.btnAddButton, "Create a button using the specified information and add it to the list");
|
||||
this.btnAddButton.Click += new System.EventHandler(this.btnAddButton_Click);
|
||||
//
|
||||
// chbUseSavedResponse
|
||||
//
|
||||
this.chbUseSavedResponse.Checked = true;
|
||||
this.chbUseSavedResponse.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chbUseSavedResponse.Location = new System.Drawing.Point(752, 352);
|
||||
this.chbUseSavedResponse.Name = "chbUseSavedResponse";
|
||||
this.chbUseSavedResponse.Size = new System.Drawing.Size(160, 24);
|
||||
this.chbUseSavedResponse.TabIndex = 4;
|
||||
this.chbUseSavedResponse.Text = "Use Saved Response";
|
||||
//
|
||||
// chbPlayAlert
|
||||
//
|
||||
this.chbPlayAlert.Checked = true;
|
||||
this.chbPlayAlert.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chbPlayAlert.Location = new System.Drawing.Point(752, 384);
|
||||
this.chbPlayAlert.Name = "chbPlayAlert";
|
||||
this.chbPlayAlert.Size = new System.Drawing.Size(160, 24);
|
||||
this.chbPlayAlert.TabIndex = 5;
|
||||
this.chbPlayAlert.Text = "Play Alert Sound";
|
||||
//
|
||||
// txtTimeout
|
||||
//
|
||||
this.txtTimeout.Location = new System.Drawing.Point(752, 416);
|
||||
this.txtTimeout.Name = "txtTimeout";
|
||||
this.txtTimeout.Size = new System.Drawing.Size(160, 21);
|
||||
this.txtTimeout.TabIndex = 9;
|
||||
this.txtTimeout.Text = "0";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(704, 416);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(45, 17);
|
||||
this.label7.TabIndex = 8;
|
||||
this.label7.Text = "Timeout";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(912, 416);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(19, 17);
|
||||
this.label8.TabIndex = 10;
|
||||
this.label8.Text = "ms";
|
||||
//
|
||||
// cmbTimeoutResult
|
||||
//
|
||||
this.cmbTimeoutResult.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cmbTimeoutResult.Items.AddRange(new object[] {
|
||||
"Default",
|
||||
"Cancel",
|
||||
"Timeout"});
|
||||
this.cmbTimeoutResult.Location = new System.Drawing.Point(752, 448);
|
||||
this.cmbTimeoutResult.Name = "cmbTimeoutResult";
|
||||
this.cmbTimeoutResult.Size = new System.Drawing.Size(160, 21);
|
||||
this.cmbTimeoutResult.TabIndex = 11;
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(670, 448);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(79, 17);
|
||||
this.label9.TabIndex = 12;
|
||||
this.label9.Text = "Timeout Result";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(872, 8);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.TabIndex = 13;
|
||||
this.button1.Text = "Run Tests";
|
||||
this.button1.Visible = false;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// MessageBoxExDemoForm
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
|
||||
this.ClientSize = new System.Drawing.Size(960, 550);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.txtTimeout);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Controls.Add(this.chbPlayAlert);
|
||||
this.Controls.Add(this.txtResult);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.chbUseSavedResponse);
|
||||
this.Controls.Add(this.cmbTimeoutResult);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.btnAddMessageBox);
|
||||
this.Controls.Add(this.listViewMessageBoxes);
|
||||
this.Controls.Add(this.btnShowCustom);
|
||||
this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.Name = "MessageBoxExDemoForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "MessageBoxEx Demo";
|
||||
this.Load += new System.EventHandler(this.MessageBoxExDemoForm_Load);
|
||||
this.grpBoxIcon.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Main
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr");
|
||||
Application.Run(new MessageBoxExDemoForm());
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Event Handlers
|
||||
private void btnShowCustom_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
if(listViewMessageBoxes.SelectedItems.Count == 0)
|
||||
{
|
||||
MessageBox.Show(this,"Select a message box to show","Select message box",MessageBoxButtons.OK,MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
MessageBoxEx msgBox = listViewMessageBoxes.SelectedItems[0].Tag as MessageBoxEx;
|
||||
if(msgBox == null)
|
||||
return;
|
||||
|
||||
msgBox.UseSavedResponse = chbUseSavedResponse.Checked;
|
||||
msgBox.PlayAlsertSound = chbPlayAlert.Checked;
|
||||
msgBox.Timeout = Convert.ToInt32(txtTimeout.Text);
|
||||
msgBox.TimeoutResult = (TimeoutResult)Enum.Parse(typeof(TimeoutResult),cmbTimeoutResult.SelectedItem.ToString());
|
||||
txtResult.Text = msgBox.Show(this);
|
||||
}
|
||||
|
||||
private void btnAddButton_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
MessageBoxExButton button = new MessageBoxExButton();
|
||||
button.Text = txtButtonText.Text;
|
||||
button.Value = txtButtonVal.Text;
|
||||
button.HelpText = txtButtonHelp.Text;
|
||||
button.IsCancelButton = chbIsCancel.Checked;
|
||||
|
||||
ListViewItem item = new ListViewItem();
|
||||
item.Text = button.Text;
|
||||
item.Tag = button;
|
||||
|
||||
listViewButtons.Items.Add(item);
|
||||
}
|
||||
|
||||
private void btnAddMessageBox_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
MessageBoxEx msgBox = null;
|
||||
try
|
||||
{
|
||||
msgBox = CreateMessageBox(txtName.Text);
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
MessageBox.Show(this,"Error occured while creating message box. "+ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
if(msgBox == null)
|
||||
return;
|
||||
|
||||
ListViewItem item = new ListViewItem(txtName.Text);
|
||||
item.Tag = msgBox;
|
||||
|
||||
listViewMessageBoxes.Items.Add(item);
|
||||
}
|
||||
|
||||
private void listViewMessageBoxes_ItemActivate(object sender, System.EventArgs e)
|
||||
{
|
||||
btnShowCustom.PerformClick();
|
||||
}
|
||||
|
||||
private void MessageBoxExDemoForm_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
cmbTimeoutResult.SelectedIndex = 0;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
private MessageBoxExButton[] GetButtons()
|
||||
{
|
||||
ArrayList buttons = new ArrayList();
|
||||
foreach(ListViewItem item in listViewButtons.Items)
|
||||
{
|
||||
if(item.Checked)
|
||||
{
|
||||
if(item.Tag == null)
|
||||
{
|
||||
//Standard buttons
|
||||
MessageBoxExButton button = new MessageBoxExButton();
|
||||
button.Text = item.Text;
|
||||
button.Value = item.Text;
|
||||
buttons.Add(button);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Custom buttons
|
||||
MessageBoxExButton button = item.Tag as MessageBoxExButton;
|
||||
if(button != null)
|
||||
buttons.Add(button);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (MessageBoxExButton[])buttons.ToArray(typeof(MessageBoxExButton));
|
||||
}
|
||||
|
||||
private MessageBoxExIcon GetIcon()
|
||||
{
|
||||
RadioButton selIcon = null;
|
||||
foreach(Control ctrl in grpBoxIcon.Controls)
|
||||
{
|
||||
if(ctrl is RadioButton)
|
||||
{
|
||||
if( ((RadioButton)ctrl).Checked )
|
||||
{
|
||||
selIcon = ctrl as RadioButton;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (MessageBoxExIcon)Enum.Parse(typeof(MessageBoxExIcon), selIcon.Text);
|
||||
}
|
||||
|
||||
private MessageBoxEx CreateMessageBox(string name)
|
||||
{
|
||||
MessageBoxEx mbox = MessageBoxExManager.CreateMessageBox(name);
|
||||
mbox.Caption = txtCaption.Text;
|
||||
mbox.Text = txtMessage.Text;
|
||||
mbox.AllowSaveResponse = chbAllowSaveResponse.Checked;
|
||||
mbox.SaveResponseText = txtSaveResponse.Text;
|
||||
|
||||
foreach(MessageBoxExButton button in GetButtons())
|
||||
{
|
||||
mbox.AddButton(button);
|
||||
}
|
||||
|
||||
mbox.Icon = GetIcon();
|
||||
return mbox;
|
||||
}
|
||||
|
||||
#region Ignore
|
||||
private void Test()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("Test");
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
|
||||
msgBox.AddButtons(MessageBoxButtons.YesNo);
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
msgBox.SaveResponseText = "Don't ask me again";
|
||||
msgBox.AllowSaveResponse = true;
|
||||
|
||||
msgBox.Font = new Font("Tahoma",8);
|
||||
|
||||
string result = msgBox.Show();
|
||||
}
|
||||
|
||||
private void Test2()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("Test2");
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
|
||||
MessageBoxExButton btnYes = new MessageBoxExButton();
|
||||
btnYes.Text = "Yes";
|
||||
btnYes.Value = "Yes";
|
||||
btnYes.HelpText = "Save the data";
|
||||
|
||||
MessageBoxExButton btnNo = new MessageBoxExButton();
|
||||
btnNo.Text = "No";
|
||||
btnNo.Value = "No";
|
||||
btnNo.HelpText = "Do not save the data";
|
||||
|
||||
msgBox.AddButton(btnYes);
|
||||
msgBox.AddButton(btnNo);
|
||||
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
msgBox.SaveResponseText = "Don't ask me again";
|
||||
msgBox.AllowSaveResponse = true;
|
||||
|
||||
msgBox.Font = new Font("Tahoma",8);
|
||||
|
||||
string result = msgBox.Show();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test case which exposed the AutoScale bug, this was submitted by Harry Stein
|
||||
/// </summary>
|
||||
private void Test3()
|
||||
{
|
||||
// as an experiment, I moved these from class members to local members
|
||||
|
||||
// to see if it helps -- it didn't -- but it helps show you nothing else
|
||||
|
||||
// is going on!
|
||||
|
||||
MessageBoxEx m_msgBoxSummary1 = null;
|
||||
|
||||
MessageBoxExButton m_btnYes = null;
|
||||
|
||||
// Tahoma 8.25 in Ex originally
|
||||
|
||||
m_msgBoxSummary1 = MessageBoxExManager.CreateMessageBox("Summary1");
|
||||
|
||||
m_btnYes = new MessageBoxExButton();
|
||||
|
||||
string m_sPROGRAM_NAME = "Possrv.Debug Merchant Parser";
|
||||
string m_sVersion = "1.00A";;
|
||||
m_msgBoxSummary1.Caption = m_sPROGRAM_NAME + " " + m_sVersion;
|
||||
|
||||
// fyi: m_sPROGRAM_NAME = "Possrv.Debug Merchant Parser";
|
||||
|
||||
// and m_sVersion = "1.00A";
|
||||
|
||||
m_msgBoxSummary1.Icon = MessageBoxExIcon.Information;
|
||||
|
||||
m_btnYes.Text = "Okay";
|
||||
|
||||
m_btnYes.Value = "OK";
|
||||
|
||||
m_msgBoxSummary1.AddButton(m_btnYes);
|
||||
|
||||
String sResultM =
|
||||
|
||||
"Hello this is a reasonably long message with 1234 56789";
|
||||
|
||||
m_msgBoxSummary1.Font = new Font("Lucida Console", 8);
|
||||
|
||||
m_msgBoxSummary1.Text = sResultM;
|
||||
|
||||
String sResult3 = m_msgBoxSummary1.Show(); // first call
|
||||
|
||||
sResult3 = m_msgBoxSummary1.Show(); // second call
|
||||
|
||||
if(sResult3=="" || (1 + 1 == 2))return; // quiet the compiler
|
||||
}
|
||||
|
||||
private void Test4()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox(null);
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
|
||||
msgBox.AddButtons(MessageBoxButtons.YesNo);
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
//Wait for 30 seconds for the user to respond
|
||||
msgBox.Timeout = 30000;
|
||||
msgBox.TimeoutResult = TimeoutResult.Timeout;
|
||||
|
||||
string result = msgBox.Show();
|
||||
if(result == MessageBoxExResult.Timeout)
|
||||
{
|
||||
//Take action to handle the case of timeouts
|
||||
}
|
||||
}
|
||||
|
||||
public void Test5()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox(null);
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Voulez-vous sauver les données ?";
|
||||
msgBox.AddButtons(MessageBoxButtons.YesNoCancel);
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
msgBox.Show();
|
||||
}
|
||||
|
||||
public void Test6()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("test");
|
||||
msgBox.Caption = "Information";
|
||||
msgBox.AddButtons(MessageBoxButtons.OK);
|
||||
|
||||
msgBox.Text = "The following items are defined:\nItem 1\nItem 2\nItem 3\nItem 4\nItem 5\nItem 6\nItem 7\nItem 8\nItem 9\nItem10\n";
|
||||
msgBox.Show();
|
||||
|
||||
msgBox.Text = "Items:\nItem 1\nItem 2\nItem 3\nItem 4\nItem 5\nItem 6\nItem 7\nItem 8\nItem 9\nItem10\n";
|
||||
msgBox.Show();
|
||||
}
|
||||
private void button1_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
Test();
|
||||
Test2();
|
||||
Test3();
|
||||
Test4();
|
||||
Test5();
|
||||
Test6();
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,502 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnShowCustom.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnShowCustom.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnShowCustom.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="grpBoxIcon.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="grpBoxIcon.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="grpBoxIcon.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="grpBoxIcon.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="grpBoxIcon.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="grpBoxIcon.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton5.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="radioButton5.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton5.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton4.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="radioButton4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="radioButton3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="radioButton2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="radioButton1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="radioButton1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="listViewButtons.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="listViewButtons.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="listViewButtons.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnHeader1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnHeader1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtMessage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtMessage.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtMessage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtCaption.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtCaption.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtCaption.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbAllowSaveResponse.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="chbAllowSaveResponse.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbAllowSaveResponse.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtSaveResponse.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtSaveResponse.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtSaveResponse.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtResult.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtResult.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtResult.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="listViewMessageBoxes.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="listViewMessageBoxes.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="listViewMessageBoxes.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnHeader2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="columnHeader2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnAddMessageBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnAddMessageBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnAddMessageBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label4.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="groupBox1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="groupBox1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="groupBox1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="groupBox1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="groupBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtButtonHelp.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtButtonHelp.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtButtonHelp.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label6.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label6.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label6.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbIsCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="chbIsCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbIsCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtButtonVal.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtButtonVal.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtButtonVal.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label5.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label5.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label5.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtButtonText.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtButtonText.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtButtonText.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="ButtonText.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="ButtonText.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="ButtonText.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnAddButton.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="btnAddButton.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="btnAddButton.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbUseSavedResponse.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="chbUseSavedResponse.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbUseSavedResponse.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbPlayAlert.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="chbPlayAlert.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbPlayAlert.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="toolTip1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="toolTip1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</data>
|
||||
<data name="toolTip1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtTimeout.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="txtTimeout.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="txtTimeout.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label7.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label7.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label7.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label8.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label8.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label8.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cmbTimeoutResult.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="cmbTimeoutResult.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="cmbTimeoutResult.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label9.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="label9.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="label9.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="button1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="button1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="button1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>MessageBoxExDemoForm</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
294
Daten/MessageBoxExDemo/Backup/MessageBoxExLib/MessageBoxEx.cs
Normal file
@ -0,0 +1,294 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// An extended MessageBox with lot of customizing capabilities.
|
||||
/// </summary>
|
||||
public class MessageBoxEx
|
||||
{
|
||||
#region Fields
|
||||
private MessageBoxExForm _msgBox = new MessageBoxExForm();
|
||||
|
||||
private bool _useSavedResponse = true;
|
||||
private string _name = null;
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
internal string Name
|
||||
{
|
||||
get{ return _name; }
|
||||
set{ _name = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the caption of the message box
|
||||
/// </summary>
|
||||
public string Caption
|
||||
{
|
||||
set{_msgBox.Caption = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the text of the message box
|
||||
/// </summary>
|
||||
public string Text
|
||||
{
|
||||
set{_msgBox.Message = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the icon to show in the message box
|
||||
/// </summary>
|
||||
public Icon CustomIcon
|
||||
{
|
||||
set{_msgBox.CustomIcon = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the icon to show in the message box
|
||||
/// </summary>
|
||||
public MessageBoxExIcon Icon
|
||||
{
|
||||
set{ _msgBox.StandardIcon = (MessageBoxIcon)Enum.Parse(typeof(MessageBoxIcon), value.ToString());}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the font for the text of the message box
|
||||
/// </summary>
|
||||
public Font Font
|
||||
{
|
||||
set{_msgBox.Font = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets the ability of the user to save his/her response
|
||||
/// </summary>
|
||||
public bool AllowSaveResponse
|
||||
{
|
||||
get{ return _msgBox.AllowSaveResponse; }
|
||||
set{ _msgBox.AllowSaveResponse = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the text to show to the user when saving his/her response
|
||||
/// </summary>
|
||||
public string SaveResponseText
|
||||
{
|
||||
set{_msgBox.SaveResponseText = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets wether the saved response if available should be used
|
||||
/// </summary>
|
||||
public bool UseSavedResponse
|
||||
{
|
||||
get{ return _useSavedResponse; }
|
||||
set{ _useSavedResponse = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets wether an alert sound is played while showing the message box.
|
||||
/// The sound played depends on the the Icon selected for the message box
|
||||
/// </summary>
|
||||
public bool PlayAlsertSound
|
||||
{
|
||||
get{ return _msgBox.PlayAlertSound; }
|
||||
set{ _msgBox.PlayAlertSound = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets the time in milliseconds for which the message box is displayed.
|
||||
/// </summary>
|
||||
public int Timeout
|
||||
{
|
||||
get{ return _msgBox.Timeout; }
|
||||
set{ _msgBox.Timeout = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Controls the result that will be returned when the message box times out.
|
||||
/// </summary>
|
||||
public TimeoutResult TimeoutResult
|
||||
{
|
||||
get{ return _msgBox.TimeoutResult; }
|
||||
set{ _msgBox.TimeoutResult = value; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
/// <summary>
|
||||
/// Shows the message box
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string Show()
|
||||
{
|
||||
return Show(null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shows the messsage box with the specified owner
|
||||
/// </summary>
|
||||
/// <param name="owner"></param>
|
||||
/// <returns></returns>
|
||||
public string Show(IWin32Window owner)
|
||||
{
|
||||
if(_useSavedResponse && this.Name != null)
|
||||
{
|
||||
string savedResponse = MessageBoxExManager.GetSavedResponse(this);
|
||||
if( savedResponse != null)
|
||||
return savedResponse;
|
||||
}
|
||||
|
||||
if(owner == null)
|
||||
{
|
||||
_msgBox.ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
_msgBox.ShowDialog(owner);
|
||||
}
|
||||
|
||||
if(this.Name != null)
|
||||
{
|
||||
if(_msgBox.AllowSaveResponse && _msgBox.SaveResponse)
|
||||
MessageBoxExManager.SetSavedResponse(this, _msgBox.Result);
|
||||
else
|
||||
MessageBoxExManager.ResetSavedResponse(this.Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
Dispose();
|
||||
}
|
||||
|
||||
return _msgBox.Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a custom button to the message box
|
||||
/// </summary>
|
||||
/// <param name="button">The button to add</param>
|
||||
public void AddButton(MessageBoxExButton button)
|
||||
{
|
||||
if(button == null)
|
||||
throw new ArgumentNullException("button","A null button cannot be added");
|
||||
|
||||
_msgBox.Buttons.Add(button);
|
||||
|
||||
if(button.IsCancelButton)
|
||||
{
|
||||
_msgBox.CustomCancelButton = button;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a custom button to the message box
|
||||
/// </summary>
|
||||
/// <param name="text">The text of the button</param>
|
||||
/// <param name="val">The return value in case this button is clicked</param>
|
||||
public void AddButton(string text, string val)
|
||||
{
|
||||
if(text == null)
|
||||
throw new ArgumentNullException("text","Text of a button cannot be null");
|
||||
|
||||
if(val == null)
|
||||
throw new ArgumentNullException("val","Value of a button cannot be null");
|
||||
|
||||
MessageBoxExButton button = new MessageBoxExButton();
|
||||
button.Text = text;
|
||||
button.Value = val;
|
||||
|
||||
AddButton(button);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a standard button to the message box
|
||||
/// </summary>
|
||||
/// <param name="buttons">The standard button to add</param>
|
||||
public void AddButton(MessageBoxExButtons button)
|
||||
{
|
||||
string buttonText = MessageBoxExManager.GetLocalizedString(button.ToString());
|
||||
if(buttonText == null)
|
||||
{
|
||||
buttonText = button.ToString();
|
||||
}
|
||||
|
||||
string buttonVal = button.ToString();
|
||||
|
||||
MessageBoxExButton btn = new MessageBoxExButton();
|
||||
btn.Text = buttonText;
|
||||
btn.Value = buttonVal;
|
||||
|
||||
if(button == MessageBoxExButtons.Cancel)
|
||||
{
|
||||
btn.IsCancelButton = true;
|
||||
}
|
||||
|
||||
AddButton(btn);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add standard buttons to the message box.
|
||||
/// </summary>
|
||||
/// <param name="buttons">The standard buttons to add</param>
|
||||
public void AddButtons(MessageBoxButtons buttons)
|
||||
{
|
||||
switch(buttons)
|
||||
{
|
||||
case MessageBoxButtons.OK:
|
||||
AddButton(MessageBoxExButtons.Ok);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.AbortRetryIgnore:
|
||||
AddButton(MessageBoxExButtons.Abort);
|
||||
AddButton(MessageBoxExButtons.Retry);
|
||||
AddButton(MessageBoxExButtons.Ignore);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.OKCancel:
|
||||
AddButton(MessageBoxExButtons.Ok);
|
||||
AddButton(MessageBoxExButtons.Cancel);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.RetryCancel:
|
||||
AddButton(MessageBoxExButtons.Retry);
|
||||
AddButton(MessageBoxExButtons.Cancel);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.YesNo:
|
||||
AddButton(MessageBoxExButtons.Yes);
|
||||
AddButton(MessageBoxExButtons.No);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.YesNoCancel:
|
||||
AddButton(MessageBoxExButtons.Yes);
|
||||
AddButton(MessageBoxExButtons.No);
|
||||
AddButton(MessageBoxExButtons.Cancel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Ctor
|
||||
/// <summary>
|
||||
/// Ctor is internal because this can only be created by MBManager
|
||||
/// </summary>
|
||||
internal MessageBoxEx()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called by the manager when it is disposed
|
||||
/// </summary>
|
||||
internal void Dispose()
|
||||
{
|
||||
if(_msgBox != null)
|
||||
{
|
||||
_msgBox.Dispose();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Internal DataStructure used to represent a button
|
||||
/// </summary>
|
||||
public class MessageBoxExButton
|
||||
{
|
||||
private string _text = null;
|
||||
/// <summary>
|
||||
/// Gets or Sets the text of the button
|
||||
/// </summary>
|
||||
public string Text
|
||||
{
|
||||
get{ return _text; }
|
||||
set{ _text = value; }
|
||||
}
|
||||
|
||||
private string _value = null;
|
||||
/// <summary>
|
||||
/// Gets or Sets the return value when this button is clicked
|
||||
/// </summary>
|
||||
public string Value
|
||||
{
|
||||
get{ return _value; }
|
||||
set{_value = value; }
|
||||
}
|
||||
|
||||
private string _helpText = null;
|
||||
/// <summary>
|
||||
/// Gets or Sets the tooltip that is displayed for this button
|
||||
/// </summary>
|
||||
public string HelpText
|
||||
{
|
||||
get{ return _helpText; }
|
||||
set{ _helpText = value; }
|
||||
}
|
||||
|
||||
private bool _isCancelButton = false;
|
||||
/// <summary>
|
||||
/// Gets or Sets wether this button is a cancel button. i.e. the button
|
||||
/// that will be assumed to have been clicked if the user closes the message box
|
||||
/// without pressing any button.
|
||||
/// </summary>
|
||||
public bool IsCancelButton
|
||||
{
|
||||
get{ return _isCancelButton; }
|
||||
set{ _isCancelButton = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Standard MessageBoxEx buttons
|
||||
/// </summary>
|
||||
public enum MessageBoxExButtons
|
||||
{
|
||||
Ok = 0,
|
||||
Cancel = 1,
|
||||
Yes = 2,
|
||||
No = 4,
|
||||
Abort = 8,
|
||||
Retry = 16,
|
||||
Ignore = 32
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,937 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// An advanced MessageBox that supports customizations like Font, Icon,
|
||||
/// Buttons and Saved Responses
|
||||
/// </summary>
|
||||
internal class MessageBoxExForm : System.Windows.Forms.Form
|
||||
{
|
||||
#region Constants
|
||||
private const int LEFT_PADDING = 12;
|
||||
private const int RIGHT_PADDING = 12;
|
||||
private const int TOP_PADDING = 12;
|
||||
private const int BOTTOM_PADDING = 12;
|
||||
|
||||
private const int BUTTON_LEFT_PADDING = 4;
|
||||
private const int BUTTON_RIGHT_PADDING = 4;
|
||||
private const int BUTTON_TOP_PADDING = 4;
|
||||
private const int BUTTON_BOTTOM_PADDING = 4;
|
||||
|
||||
private const int MIN_BUTTON_HEIGHT = 23;
|
||||
private const int MIN_BUTTON_WIDTH = 74;
|
||||
|
||||
private const int ITEM_PADDING = 10;
|
||||
private const int ICON_MESSAGE_PADDING = 15;
|
||||
|
||||
private const int BUTTON_PADDING = 5;
|
||||
|
||||
private const int CHECKBOX_WIDTH = 20;
|
||||
|
||||
private const int IMAGE_INDEX_EXCLAMATION = 0;
|
||||
private const int IMAGE_INDEX_QUESTION = 1;
|
||||
private const int IMAGE_INDEX_STOP = 2;
|
||||
private const int IMAGE_INDEX_INFORMATION = 3;
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
private System.ComponentModel.IContainer components;
|
||||
private System.Windows.Forms.CheckBox chbSaveResponse;
|
||||
private System.Windows.Forms.ImageList imageListIcons;
|
||||
private System.Windows.Forms.ToolTip buttonToolTip;
|
||||
|
||||
private ArrayList _buttons = new ArrayList();
|
||||
private bool _allowSaveResponse;
|
||||
private bool _playAlert = true;
|
||||
private MessageBoxExButton _cancelButton = null;
|
||||
private Button _defaultButtonControl = null;
|
||||
|
||||
private int _maxLayoutWidth;
|
||||
private int _maxLayoutHeight;
|
||||
|
||||
private int _maxWidth;
|
||||
private int _maxHeight;
|
||||
|
||||
private bool _allowCancel = true;
|
||||
private string _result = null;
|
||||
|
||||
/// <summary>
|
||||
/// Used to determine the alert sound to play
|
||||
/// </summary>
|
||||
private MessageBoxIcon _standardIcon = MessageBoxIcon.None;
|
||||
private Icon _iconImage = null;
|
||||
|
||||
private Timer timerTimeout = null;
|
||||
private int _timeout = 0;
|
||||
private TimeoutResult _timeoutResult = TimeoutResult.Default;
|
||||
private System.Windows.Forms.Panel panelIcon;
|
||||
private System.Windows.Forms.RichTextBox rtbMessage;
|
||||
|
||||
/// <summary>
|
||||
/// Maps MessageBoxEx buttons to Button controls
|
||||
/// </summary>
|
||||
private Hashtable _buttonControlsTable = new Hashtable();
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
public string Message
|
||||
{
|
||||
set{ rtbMessage.Text = value; }
|
||||
}
|
||||
|
||||
public string Caption
|
||||
{
|
||||
set{ this.Text = value; }
|
||||
}
|
||||
|
||||
public Font CustomFont
|
||||
{
|
||||
set{ this.Font = value; }
|
||||
}
|
||||
|
||||
public ArrayList Buttons
|
||||
{
|
||||
get{ return _buttons; }
|
||||
}
|
||||
|
||||
public bool AllowSaveResponse
|
||||
{
|
||||
get{ return _allowSaveResponse; }
|
||||
set{ _allowSaveResponse = value; }
|
||||
}
|
||||
|
||||
public bool SaveResponse
|
||||
{
|
||||
get{ return chbSaveResponse.Checked; }
|
||||
}
|
||||
|
||||
public string SaveResponseText
|
||||
{
|
||||
set{ chbSaveResponse.Text = value; }
|
||||
}
|
||||
|
||||
public MessageBoxIcon StandardIcon
|
||||
{
|
||||
set{ SetStandardIcon(value); }
|
||||
}
|
||||
|
||||
public Icon CustomIcon
|
||||
{
|
||||
set
|
||||
{
|
||||
_standardIcon = MessageBoxIcon.None;
|
||||
_iconImage = value;
|
||||
}
|
||||
}
|
||||
|
||||
public MessageBoxExButton CustomCancelButton
|
||||
{
|
||||
set{ _cancelButton = value; }
|
||||
}
|
||||
|
||||
public string Result
|
||||
{
|
||||
get{ return _result; }
|
||||
}
|
||||
|
||||
public bool PlayAlertSound
|
||||
{
|
||||
get{ return _playAlert; }
|
||||
set{ _playAlert = value; }
|
||||
}
|
||||
|
||||
public int Timeout
|
||||
{
|
||||
get{ return _timeout; }
|
||||
set{ _timeout = value; }
|
||||
}
|
||||
|
||||
public TimeoutResult TimeoutResult
|
||||
{
|
||||
get{ return _timeoutResult; }
|
||||
set{ _timeoutResult = value; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Ctor/Dtor
|
||||
public MessageBoxExForm()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
_maxWidth = (int)(SystemInformation.WorkingArea.Width * 0.60);
|
||||
_maxHeight = (int)(SystemInformation.WorkingArea.Height * 0.90);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MessageBoxExForm));
|
||||
this.panelIcon = new System.Windows.Forms.Panel();
|
||||
this.chbSaveResponse = new System.Windows.Forms.CheckBox();
|
||||
this.imageListIcons = new System.Windows.Forms.ImageList(this.components);
|
||||
this.buttonToolTip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.rtbMessage = new System.Windows.Forms.RichTextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panelIcon
|
||||
//
|
||||
this.panelIcon.BackColor = System.Drawing.Color.Transparent;
|
||||
this.panelIcon.Location = new System.Drawing.Point(8, 8);
|
||||
this.panelIcon.Name = "panelIcon";
|
||||
this.panelIcon.Size = new System.Drawing.Size(32, 32);
|
||||
this.panelIcon.TabIndex = 3;
|
||||
this.panelIcon.Visible = false;
|
||||
//
|
||||
// chbSaveResponse
|
||||
//
|
||||
this.chbSaveResponse.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.chbSaveResponse.Location = new System.Drawing.Point(56, 56);
|
||||
this.chbSaveResponse.Name = "chbSaveResponse";
|
||||
this.chbSaveResponse.Size = new System.Drawing.Size(104, 16);
|
||||
this.chbSaveResponse.TabIndex = 0;
|
||||
//
|
||||
// imageListIcons
|
||||
//
|
||||
this.imageListIcons.ColorDepth = System.Windows.Forms.ColorDepth.Depth16Bit;
|
||||
this.imageListIcons.ImageSize = new System.Drawing.Size(32, 32);
|
||||
this.imageListIcons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListIcons.ImageStream")));
|
||||
this.imageListIcons.TransparentColor = System.Drawing.Color.Transparent;
|
||||
//
|
||||
// rtbMessage
|
||||
//
|
||||
this.rtbMessage.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.rtbMessage.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.rtbMessage.Location = new System.Drawing.Point(200, 8);
|
||||
this.rtbMessage.Name = "rtbMessage";
|
||||
this.rtbMessage.ReadOnly = true;
|
||||
this.rtbMessage.Size = new System.Drawing.Size(100, 48);
|
||||
this.rtbMessage.TabIndex = 4;
|
||||
this.rtbMessage.Text = "";
|
||||
this.rtbMessage.Visible = false;
|
||||
//
|
||||
// MessageBoxExForm
|
||||
//
|
||||
this.AutoScale = false;
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
|
||||
this.ClientSize = new System.Drawing.Size(322, 224);
|
||||
this.Controls.Add(this.rtbMessage);
|
||||
this.Controls.Add(this.chbSaveResponse);
|
||||
this.Controls.Add(this.panelIcon);
|
||||
this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "MessageBoxExForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Overrides
|
||||
/// <summary>
|
||||
/// This will get called everytime we call ShowDialog on the form
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
//Reset result
|
||||
_result = null;
|
||||
|
||||
this.Size = new Size(_maxWidth, _maxHeight);
|
||||
|
||||
//This is the rectangle in which all items will be layed out
|
||||
_maxLayoutWidth = this.ClientSize.Width - LEFT_PADDING - RIGHT_PADDING;
|
||||
_maxLayoutHeight = this.ClientSize.Height - TOP_PADDING - BOTTOM_PADDING;
|
||||
|
||||
AddOkButtonIfNoButtonsPresent();
|
||||
DisableCloseIfMultipleButtonsAndNoCancelButton();
|
||||
|
||||
SetIconSizeAndVisibility();
|
||||
SetMessageSizeAndVisibility();
|
||||
SetCheckboxSizeAndVisibility();
|
||||
|
||||
SetOptimumSize();
|
||||
|
||||
LayoutControls();
|
||||
|
||||
CenterForm();
|
||||
|
||||
PlayAlert();
|
||||
|
||||
SelectDefaultButton();
|
||||
|
||||
StartTimerIfTimeoutGreaterThanZero();
|
||||
|
||||
base.OnLoad (e);
|
||||
}
|
||||
|
||||
|
||||
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
||||
{
|
||||
if((int)keyData == (int)(Keys.Alt | Keys.F4) && !_allowCancel)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return base.ProcessCmdKey(ref msg, keyData);
|
||||
}
|
||||
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
{
|
||||
if(_result == null)
|
||||
{
|
||||
if(_allowCancel)
|
||||
{
|
||||
_result = _cancelButton.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(timerTimeout != null)
|
||||
{
|
||||
timerTimeout.Stop();
|
||||
}
|
||||
|
||||
base.OnClosing (e);
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint (e);
|
||||
|
||||
if(_iconImage != null)
|
||||
{
|
||||
e.Graphics.DrawIcon(_iconImage, new Rectangle(panelIcon.Location, new Size(32, 32)));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
/// <summary>
|
||||
/// Measures a string using the Graphics object for this form with
|
||||
/// the specified font
|
||||
/// </summary>
|
||||
/// <param name="str">The string to measure</param>
|
||||
/// <param name="maxWidth">The maximum width available to display the string</param>
|
||||
/// <param name="font">The font with which to measure the string</param>
|
||||
/// <returns></returns>
|
||||
private Size MeasureString(string str, int maxWidth, Font font)
|
||||
{
|
||||
Graphics g = this.CreateGraphics();
|
||||
SizeF strRectSizeF = g.MeasureString(str, font, maxWidth);
|
||||
g.Dispose();
|
||||
|
||||
return new Size((int)Math.Ceiling(strRectSizeF.Width), (int)Math.Ceiling(strRectSizeF.Height));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Measures a string using the Graphics object for this form and the
|
||||
/// font of this form
|
||||
/// </summary>
|
||||
/// <param name="str"></param>
|
||||
/// <param name="maxWidth"></param>
|
||||
/// <returns></returns>
|
||||
private Size MeasureString(string str, int maxWidth)
|
||||
{
|
||||
return MeasureString(str, maxWidth, this.Font);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the longest button text
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private string GetLongestButtonText()
|
||||
{
|
||||
int maxLen = 0;
|
||||
string maxStr = null;
|
||||
foreach(MessageBoxExButton button in _buttons)
|
||||
{
|
||||
if(button.Text != null && button.Text.Length > maxLen)
|
||||
{
|
||||
maxLen = button.Text.Length;
|
||||
maxStr = button.Text;
|
||||
}
|
||||
}
|
||||
|
||||
return maxStr;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the size and visibility of the Message
|
||||
/// </summary>
|
||||
private void SetMessageSizeAndVisibility()
|
||||
{
|
||||
if(rtbMessage.Text == null || rtbMessage.Text.Trim().Length == 0)
|
||||
{
|
||||
rtbMessage.Size = Size.Empty;
|
||||
rtbMessage.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
int maxWidth = _maxLayoutWidth;
|
||||
if(panelIcon.Size.Width != 0)
|
||||
{
|
||||
maxWidth = maxWidth - (panelIcon.Size.Width + ICON_MESSAGE_PADDING);
|
||||
}
|
||||
|
||||
//We need to account for scroll bar width and height, otherwise for certains
|
||||
//kinds of text the scroll bar shows up unnecessarily
|
||||
maxWidth = maxWidth - SystemInformation.VerticalScrollBarWidth;
|
||||
Size messageRectSize = MeasureString(rtbMessage.Text, maxWidth);
|
||||
|
||||
messageRectSize.Width += SystemInformation.VerticalScrollBarWidth;
|
||||
messageRectSize.Height = Math.Max(panelIcon.Height, messageRectSize.Height) + SystemInformation.HorizontalScrollBarHeight;
|
||||
|
||||
rtbMessage.Size = messageRectSize;
|
||||
rtbMessage.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the size and visibility of the Icon
|
||||
/// </summary>
|
||||
private void SetIconSizeAndVisibility()
|
||||
{
|
||||
if(_iconImage == null)
|
||||
{
|
||||
panelIcon.Visible = false;
|
||||
panelIcon.Size = Size.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
panelIcon.Size = new Size(32,32);
|
||||
panelIcon.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the size and visibility of the save response checkbox
|
||||
/// </summary>
|
||||
private void SetCheckboxSizeAndVisibility()
|
||||
{
|
||||
if(!AllowSaveResponse)
|
||||
{
|
||||
chbSaveResponse.Visible = false;
|
||||
chbSaveResponse.Size = Size.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
Size saveResponseTextSize = MeasureString(chbSaveResponse.Text, _maxLayoutWidth);
|
||||
saveResponseTextSize.Width += CHECKBOX_WIDTH;
|
||||
chbSaveResponse.Size = saveResponseTextSize;
|
||||
chbSaveResponse.Visible= true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calculates the button size based on the text of the longest
|
||||
/// button text
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private Size GetButtonSize()
|
||||
{
|
||||
string longestButtonText = GetLongestButtonText();
|
||||
if(longestButtonText == null)
|
||||
{
|
||||
//TODO:Handle this case
|
||||
}
|
||||
|
||||
Size buttonTextSize = MeasureString(longestButtonText, _maxLayoutWidth);
|
||||
Size buttonSize = new Size(buttonTextSize.Width + BUTTON_LEFT_PADDING + BUTTON_RIGHT_PADDING,
|
||||
buttonTextSize.Height + BUTTON_TOP_PADDING + BUTTON_BOTTOM_PADDING);
|
||||
|
||||
if(buttonSize.Width < MIN_BUTTON_WIDTH)
|
||||
buttonSize.Width = MIN_BUTTON_WIDTH;
|
||||
if(buttonSize.Height < MIN_BUTTON_HEIGHT)
|
||||
buttonSize.Height = MIN_BUTTON_HEIGHT;
|
||||
|
||||
return buttonSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the icon
|
||||
/// </summary>
|
||||
/// <param name="icon"></param>
|
||||
private void SetStandardIcon(MessageBoxIcon icon)
|
||||
{
|
||||
_standardIcon = icon;
|
||||
|
||||
switch(icon)
|
||||
{
|
||||
case MessageBoxIcon.Asterisk:
|
||||
_iconImage = SystemIcons.Asterisk;
|
||||
break;
|
||||
case MessageBoxIcon.Error:
|
||||
_iconImage = SystemIcons.Error;
|
||||
break;
|
||||
case MessageBoxIcon.Exclamation:
|
||||
_iconImage = SystemIcons.Exclamation;
|
||||
break;
|
||||
// case MessageBoxIcon.Hand:
|
||||
// _iconImage = SystemIcons.Hand;
|
||||
// break;
|
||||
// case MessageBoxIcon.Information:
|
||||
// _iconImage = SystemIcons.Information;
|
||||
// break;
|
||||
case MessageBoxIcon.Question:
|
||||
_iconImage = SystemIcons.Question;
|
||||
break;
|
||||
// case MessageBoxIcon.Stop:
|
||||
// _iconImage = SystemIcons.Stop;
|
||||
// break;
|
||||
// case MessageBoxIcon.Warning:
|
||||
// _iconImage = SystemIcons.Warning;
|
||||
// break;
|
||||
|
||||
case MessageBoxIcon.None:
|
||||
_iconImage = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void AddOkButtonIfNoButtonsPresent()
|
||||
{
|
||||
if(_buttons.Count == 0)
|
||||
{
|
||||
MessageBoxExButton okButton = new MessageBoxExButton();
|
||||
okButton.Text = MessageBoxExButtons.Ok.ToString();
|
||||
okButton.Value = MessageBoxExButtons.Ok.ToString();
|
||||
|
||||
_buttons.Add(okButton);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Centers the form on the screen
|
||||
/// </summary>
|
||||
private void CenterForm()
|
||||
{
|
||||
int x = (SystemInformation.WorkingArea.Width - this.Width ) / 2;
|
||||
int y = (SystemInformation.WorkingArea.Height - this.Height ) / 2;
|
||||
|
||||
this.Location = new Point(x,y);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the optimum size for the form based on the controls that
|
||||
/// need to be displayed
|
||||
/// </summary>
|
||||
private void SetOptimumSize()
|
||||
{
|
||||
int ncWidth = this.Width - this.ClientSize.Width;
|
||||
int ncHeight = this.Height - this.ClientSize.Height;
|
||||
|
||||
int iconAndMessageRowWidth = rtbMessage.Width + ICON_MESSAGE_PADDING + panelIcon.Width;
|
||||
int saveResponseRowWidth = chbSaveResponse.Width + (int)(panelIcon.Width / 2);
|
||||
int buttonsRowWidth = GetWidthOfAllButtons();
|
||||
int captionWidth = GetCaptionSize().Width;
|
||||
|
||||
int maxItemWidth = Math.Max(saveResponseRowWidth, Math.Max(iconAndMessageRowWidth, buttonsRowWidth));
|
||||
|
||||
int requiredWidth = LEFT_PADDING + maxItemWidth + RIGHT_PADDING + ncWidth;
|
||||
//Since Caption width is not client width, we do the check here
|
||||
if(requiredWidth < captionWidth)
|
||||
requiredWidth = captionWidth;
|
||||
|
||||
int requiredHeight = TOP_PADDING + Math.Max(rtbMessage.Height,panelIcon.Height) + ITEM_PADDING + chbSaveResponse.Height + ITEM_PADDING + GetButtonSize().Height + BOTTOM_PADDING + ncHeight;
|
||||
|
||||
//Fix the bug where if the message text is huge then the buttons are overwritten.
|
||||
//Incase the required height is more than the max height then adjust that in the
|
||||
//message height
|
||||
if(requiredHeight > _maxHeight)
|
||||
{
|
||||
rtbMessage.Height -= requiredHeight - _maxHeight;
|
||||
}
|
||||
|
||||
int height = Math.Min(requiredHeight, _maxHeight);
|
||||
int width = Math.Min(requiredWidth, _maxWidth);
|
||||
this.Size = new Size(width, height);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the width that will be occupied by all buttons including
|
||||
/// the inter-button padding
|
||||
/// </summary>
|
||||
private int GetWidthOfAllButtons()
|
||||
{
|
||||
Size buttonSize = GetButtonSize();
|
||||
int allButtonsWidth = buttonSize.Width*_buttons.Count + BUTTON_PADDING*(_buttons.Count-1);
|
||||
|
||||
return allButtonsWidth;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the width of the caption
|
||||
/// </summary>
|
||||
private Size GetCaptionSize()
|
||||
{
|
||||
Font captionFont = GetCaptionFont();
|
||||
if(captionFont == null)
|
||||
{
|
||||
//some error occured while determining system font
|
||||
captionFont = new Font("Tahoma",11);
|
||||
}
|
||||
|
||||
int availableWidth = _maxWidth - SystemInformation.CaptionButtonSize.Width - SystemInformation.Border3DSize.Width * 2 ;
|
||||
Size captionSize = MeasureString(this.Text, availableWidth, captionFont);
|
||||
|
||||
captionSize.Width += SystemInformation.CaptionButtonSize.Width + SystemInformation.Border3DSize.Width * 2;
|
||||
return captionSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Layout all the controls
|
||||
/// </summary>
|
||||
private void LayoutControls()
|
||||
{
|
||||
panelIcon.Location = new Point(LEFT_PADDING, TOP_PADDING);
|
||||
rtbMessage.Location = new Point(LEFT_PADDING + panelIcon.Width + ICON_MESSAGE_PADDING * (panelIcon.Width == 0 ? 0 : 1) , TOP_PADDING);
|
||||
|
||||
chbSaveResponse.Location = new Point(LEFT_PADDING + (int)(panelIcon.Width / 2),
|
||||
TOP_PADDING + Math.Max(panelIcon.Height, rtbMessage.Height) + ITEM_PADDING);
|
||||
|
||||
Size buttonSize = GetButtonSize();
|
||||
int allButtonsWidth = GetWidthOfAllButtons();
|
||||
|
||||
int firstButtonX = ((int)(this.ClientSize.Width - allButtonsWidth) / 2);
|
||||
int firstButtonY = this.ClientSize.Height - BOTTOM_PADDING - buttonSize.Height;
|
||||
Point nextButtonLocation = new Point(firstButtonX,firstButtonY);
|
||||
|
||||
bool foundDefaultButton = false;
|
||||
foreach(MessageBoxExButton button in _buttons)
|
||||
{
|
||||
Button buttonCtrl = GetButton(button, buttonSize, nextButtonLocation);
|
||||
|
||||
if(!foundDefaultButton)
|
||||
{
|
||||
_defaultButtonControl = buttonCtrl;
|
||||
foundDefaultButton = true;
|
||||
}
|
||||
|
||||
nextButtonLocation.X += buttonSize.Width + BUTTON_PADDING;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the button control for the specified MessageBoxExButton, if the
|
||||
/// control has not been created this method creates the control
|
||||
/// </summary>
|
||||
/// <param name="button"></param>
|
||||
/// <param name="size"></param>
|
||||
/// <param name="location"></param>
|
||||
/// <returns></returns>
|
||||
private Button GetButton(MessageBoxExButton button, Size size, Point location)
|
||||
{
|
||||
Button buttonCtrl = null;
|
||||
if(_buttonControlsTable.ContainsKey(button))
|
||||
{
|
||||
buttonCtrl = _buttonControlsTable[button] as Button;
|
||||
buttonCtrl.Size = size;
|
||||
buttonCtrl.Location = location;
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonCtrl = CreateButton(button, size, location);
|
||||
_buttonControlsTable[button] = buttonCtrl;
|
||||
this.Controls.Add(buttonCtrl);
|
||||
}
|
||||
|
||||
return buttonCtrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a button control based on info from MessageBoxExButton
|
||||
/// </summary>
|
||||
/// <param name="button"></param>
|
||||
/// <param name="size"></param>
|
||||
/// <param name="location"></param>
|
||||
/// <returns></returns>
|
||||
private Button CreateButton(MessageBoxExButton button, Size size, Point location)
|
||||
{
|
||||
Button buttonCtrl = new Button();
|
||||
buttonCtrl.Size = size;
|
||||
buttonCtrl.Text = button.Text;
|
||||
buttonCtrl.TextAlign = ContentAlignment.MiddleCenter;
|
||||
buttonCtrl.FlatStyle = FlatStyle.System;
|
||||
if(button.HelpText != null && button.HelpText.Trim().Length != 0)
|
||||
{
|
||||
buttonToolTip.SetToolTip(buttonCtrl, button.HelpText);
|
||||
}
|
||||
buttonCtrl.Location = location;
|
||||
buttonCtrl.Click += new EventHandler(OnButtonClicked);
|
||||
buttonCtrl.Tag = button.Value;
|
||||
|
||||
return buttonCtrl;
|
||||
}
|
||||
|
||||
private void DisableCloseIfMultipleButtonsAndNoCancelButton()
|
||||
{
|
||||
if(_buttons.Count > 1)
|
||||
{
|
||||
if(_cancelButton != null)
|
||||
return;
|
||||
|
||||
//See if standard cancel button is present
|
||||
foreach(MessageBoxExButton button in _buttons)
|
||||
{
|
||||
if(button.Text == MessageBoxExButtons.Cancel.ToString() && button.Value == MessageBoxExButtons.Cancel.ToString())
|
||||
{
|
||||
_cancelButton = button;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//Standard cancel button is not present, Disable
|
||||
//close button
|
||||
DisableCloseButton(this);
|
||||
_allowCancel = false;
|
||||
|
||||
}
|
||||
else if(_buttons.Count == 1)
|
||||
{
|
||||
_cancelButton = _buttons[0] as MessageBoxExButton;
|
||||
}
|
||||
else
|
||||
{
|
||||
//This condition should never get called
|
||||
_allowCancel = false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Plays the alert sound based on the icon set for the message box
|
||||
/// </summary>
|
||||
private void PlayAlert()
|
||||
{
|
||||
if(_playAlert)
|
||||
{
|
||||
if(_standardIcon != MessageBoxIcon.None)
|
||||
{
|
||||
MessageBeep((uint)_standardIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBeep(0 /*MB_OK*/);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectDefaultButton()
|
||||
{
|
||||
if(_defaultButtonControl != null)
|
||||
{
|
||||
_defaultButtonControl.Select();
|
||||
}
|
||||
}
|
||||
|
||||
private void StartTimerIfTimeoutGreaterThanZero()
|
||||
{
|
||||
if(_timeout > 0)
|
||||
{
|
||||
if(timerTimeout == null)
|
||||
{
|
||||
timerTimeout = new Timer(this.components);
|
||||
timerTimeout.Tick += new EventHandler(timerTimeout_Tick);
|
||||
}
|
||||
|
||||
if(!timerTimeout.Enabled)
|
||||
{
|
||||
timerTimeout.Interval = _timeout;
|
||||
timerTimeout.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetResultAndClose(string result)
|
||||
{
|
||||
_result = result;
|
||||
this.DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Event Handlers
|
||||
private void OnButtonClicked(object sender, EventArgs e)
|
||||
{
|
||||
Button btn = sender as Button;
|
||||
if(btn == null || btn.Tag == null)
|
||||
return;
|
||||
|
||||
string result = btn.Tag as string;
|
||||
SetResultAndClose(result);
|
||||
}
|
||||
|
||||
private void timerTimeout_Tick(object sender, EventArgs e)
|
||||
{
|
||||
timerTimeout.Stop();
|
||||
|
||||
switch(_timeoutResult)
|
||||
{
|
||||
case TimeoutResult.Default:
|
||||
_defaultButtonControl.PerformClick();
|
||||
break;
|
||||
|
||||
case TimeoutResult.Cancel:
|
||||
if(_cancelButton != null)
|
||||
{
|
||||
SetResultAndClose(_cancelButton.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
_defaultButtonControl.PerformClick();
|
||||
}
|
||||
break;
|
||||
|
||||
case TimeoutResult.Timeout:
|
||||
SetResultAndClose(MessageBoxExResult.Timeout);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region P/Invoke - SystemParametersInfo, GetSystemMenu, EnableMenuItem, MessageBeep
|
||||
private Font GetCaptionFont()
|
||||
{
|
||||
|
||||
NONCLIENTMETRICS ncm = new NONCLIENTMETRICS();
|
||||
ncm.cbSize = Marshal.SizeOf(typeof(NONCLIENTMETRICS));
|
||||
try
|
||||
{
|
||||
bool result = SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, ref ncm, 0);
|
||||
|
||||
if(result)
|
||||
{
|
||||
return Font.FromLogFont(ncm.lfCaptionFont);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
int lastError = Marshal.GetLastWin32Error();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch(Exception /*ex*/)
|
||||
{
|
||||
//System.Console.WriteLine(ex.Message);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private const int SPI_GETNONCLIENTMETRICS = 41;
|
||||
private const int LF_FACESIZE = 32;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
|
||||
private struct LOGFONT
|
||||
{
|
||||
public int lfHeight;
|
||||
public int lfWidth;
|
||||
public int lfEscapement;
|
||||
public int lfOrientation;
|
||||
public int lfWeight;
|
||||
public byte lfItalic;
|
||||
public byte lfUnderline;
|
||||
public byte lfStrikeOut;
|
||||
public byte lfCharSet;
|
||||
public byte lfOutPrecision;
|
||||
public byte lfClipPrecision;
|
||||
public byte lfQuality;
|
||||
public byte lfPitchAndFamily;
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
|
||||
public string lfFaceSize;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
|
||||
private struct NONCLIENTMETRICS
|
||||
{
|
||||
public int cbSize;
|
||||
public int iBorderWidth;
|
||||
public int iScrollWidth;
|
||||
public int iScrollHeight;
|
||||
public int iCaptionWidth;
|
||||
public int iCaptionHeight;
|
||||
public LOGFONT lfCaptionFont;
|
||||
public int iSmCaptionWidth;
|
||||
public int iSmCaptionHeight;
|
||||
public LOGFONT lfSmCaptionFont;
|
||||
public int iMenuWidth;
|
||||
public int iMenuHeight;
|
||||
public LOGFONT lfMenuFont;
|
||||
public LOGFONT lfStatusFont;
|
||||
public LOGFONT lfMessageFont;
|
||||
}
|
||||
|
||||
[DllImport("user32.dll", SetLastError=true, CharSet=CharSet.Auto)]
|
||||
private static extern bool SystemParametersInfo(int uiAction, int uiParam,
|
||||
ref NONCLIENTMETRICS ncMetrics, int fWinIni);
|
||||
|
||||
|
||||
[DllImport("user32.dll", CharSet=CharSet.Auto)]
|
||||
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
|
||||
|
||||
[DllImport("user32.dll", CharSet=CharSet.Auto)]
|
||||
private static extern bool EnableMenuItem(IntPtr hMenu, uint uIDEnableItem,
|
||||
uint uEnable);
|
||||
|
||||
private const int SC_CLOSE = 0xF060;
|
||||
private const int MF_BYCOMMAND = 0x0;
|
||||
private const int MF_GRAYED = 0x1;
|
||||
private const int MF_ENABLED = 0x0;
|
||||
|
||||
private void DisableCloseButton(Form form)
|
||||
{
|
||||
try
|
||||
{
|
||||
EnableMenuItem(GetSystemMenu(form.Handle, false), SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
|
||||
}
|
||||
catch(Exception /*ex*/)
|
||||
{
|
||||
//System.Console.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("user32.dll", CharSet=CharSet.Auto)]
|
||||
private static extern bool MessageBeep(uint type);
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,387 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="panelIcon.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="panelIcon.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="panelIcon.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="panelIcon.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="panelIcon.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="panelIcon.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="chbSaveResponse.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="chbSaveResponse.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbSaveResponse.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="imageListIcons.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="imageListIcons.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="imageListIcons.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</data>
|
||||
<data name="imageListIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
|
||||
MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
|
||||
eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
|
||||
AADELQAAAk1TRnQBSQFMAgEBBAEAAQUBAAEEAQABIAEAASABAAT/AREBEAj/AUIBTQE2BwABNgMAASgD
|
||||
AAGAAwABQAMAAQEBAAEQBgABQP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA8AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIqAAEQAUIBEAFCMAABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjwAARABQgEQAUIe
|
||||
AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQiYAARABQgEQAUIB
|
||||
EAFCKgABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QjQAARABQgEQAUIBEAFCGwABQjAAARABQgEQAUIBEAFCARABQgEQAUImAAEQAUIBEAFCKAABEAFCARAB
|
||||
QgEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIBEAFCNAAB
|
||||
EAFCARABQhkAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARAB
|
||||
QgEQAUIBEAFCIgAB/wF/AgABEAFCARABQiQAARABQgEAAUABAAFAAQABQAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIsAAH/AX8CAAEQAUIB
|
||||
EAFCFwABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARAB
|
||||
QgEQAUIBEAFCIAAB/wF/Af8BfwIAARABQgEQAUIiAAEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARABQgEQAUIo
|
||||
AAH/AX8B/wF/AgABEAFCARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8CAAEQAUIBEAFCARABQhoAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQiEAAUAB
|
||||
AAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUABAAFAARABQgEQAUIBEAFCARABQiAAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARAB
|
||||
QhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAAB
|
||||
GAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgAB
|
||||
EAFCARABQgEQAUIBEAFCAgAB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCGQABQAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABQAEQAUIBEAFCARABQhoAARABQgEQAUIBEAFCARABQgIAAf8BfwH/AX8B
|
||||
/wF/AgABEAFCARABQgEQAUIBEAFCARABQhEAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
GAFjAgABEAFCARABQhIAARABQgEQAUIBEAFCBgABGAFjAf8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIB
|
||||
EAFCARABQgEQAUIBEAFCEwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIB
|
||||
EAFCFAABEAFCARABQgEQAUIGAAEYAWMB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCBgABGAFjAf8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUIRAAFAAQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIBEAFCEAABEAFCBgABGAFjAf8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUINAAFCAeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFjAeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8B
|
||||
fwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUISAAEYAWMB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQAB
|
||||
QgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhIAARgBYwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAgAB
|
||||
EAFCARABQgEQAUIBEAFCCQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABQAEQAUIBEAFCDgABGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMCAAEQAUIBEAFCARABQgEQAUILAAFCAeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIB
|
||||
EAFCARABQgEQAUIHAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAFAARABQgEQAUIBEAFCCgAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCARABQgsAAUIB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABGAFjAeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/ARgBYwEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwIAARABQgEQAUIBEAFCARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUABEAFCARABQgEQAUIIAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIB
|
||||
EAFCARABQgEQAUIJAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AQABQgMAAUIB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIDAAFAAQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgQAARABQgH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAEfAQAB
|
||||
HwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/BgAB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwIAARAB
|
||||
QgEQAUIMAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQAB
|
||||
HwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwIAARAB
|
||||
QgEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAFAARABQgEQAUICAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/ARgBYwIAARABQgEQAUIBEAFCCQABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBgAB
|
||||
GAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIMAAEQAUIB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCAQABQAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB
|
||||
HwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwAB
|
||||
QgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEAAUIHAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgAB
|
||||
EAFCARABQgwAARABQgEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwEYAWMCAAEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQAUILAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/CgAB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIB/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8B
|
||||
AAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg0AAUIB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCDgABEAFCAf8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAARgB
|
||||
YwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIB
|
||||
AAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUAB
|
||||
EAFCARABQgEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
HwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/AgABEAFCARABQg0AAUIB4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwEYAWMC
|
||||
AAEQAUIBEAFCDgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAUABEAFCAgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B
|
||||
4AF/AeABfwIAARABQgEQAUIQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg8AAUIB4AF/AeABfwHgAX8B4AF/CgAB
|
||||
4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIFAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCEwABQgHgAX8B4AF/AeABfwEYAWMGAAEYAWMB
|
||||
4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAUABEAFCBAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQhMAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwIAARABQgcAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUAIAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwIAARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgAB
|
||||
EAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
HwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMNAAFAAQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUIIAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAEfAQABGAFjAf8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYxsAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwEYAWMCAAEQAUIBEAFCGAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAARgB
|
||||
YwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/EQAB
|
||||
QAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgwAARABQgH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8Bfx8AAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARAB
|
||||
QhwAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAEfAQAB
|
||||
HwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8TAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUAQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8B
|
||||
AAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/IQABQgHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCHgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8XAAFAAQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAFAFAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMB
|
||||
HwEAAR8BAAEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8lAAFCAeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8CAAEQAUIBEAFCIgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQhkAAUABAAFAAQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUAB
|
||||
AAFAGAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQiUAAUIB4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQiYAARAB
|
||||
QgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgB
|
||||
YwEQAUIBEAFCHwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABQB4AARABQgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwEQAUIBEAFCKQABQgHgAX8B4AF/ARgBYzAAARABQgEQAUIBEAFCARgB
|
||||
YwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIlAAFAAQABQAEAAUABAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFAAQABQCQAARABQgEQAUIBEAFCARgBYwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIvAAFCAQABQgEAAUI2AAEQAUIBEAFCARAB
|
||||
QgEQAUIBEAFCARABQgEQAUIBEAFCMQABQAEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUAwAAEQAUIB
|
||||
EAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCGgABQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEG
|
||||
AAEEFgAD//8A/wADAAH4AgABAwL/AecC/wH4AQcD/wHnAf8B8AIAAQEC/wHHAv8BwAEAA/8BxwH/AcAD
|
||||
AAL/AYcC/wGAAQABfwL/AYcB/wGAAwAC/wEHAf8B/gIAAR8C/wEHAf8EAAH/Af4BBwH/AfwCAAEPAf8B
|
||||
/gEHAf8EAAH/AfgBBwH/AfgCAAEHAf8B+AEHAf8DAAEBAf8BwAEAAf8B8AIAAQcB/wHAAQAB/wMAAQEB
|
||||
/wIAAT8B4AIAAQMB/wIAAT8BgAIAAQMB/gIAAR8B4AIAAQEB/gIAAR8BgAIAAQMB/AIAAQ8BwAIAAQEB
|
||||
/AIAAQ8BwAIAAQcB+AIAAQcBgAIAAQEB+AIAAQcBwAIAAQcB8AIAAQMBgAMAAfACAAEDAeACAAEPAeAC
|
||||
AAEBAYADAAHgAgABAQHgAgABDwHAAgABAQQAAcACAAEBAfACAAEfAYAHAAGAAwAB8AIAAR8BgAcAAYAD
|
||||
AAH4AgABPwwAAfgCAAE/DAAB/AIAAX8MAAH8AgABfwcAAQEEAAH+AgAB/wcAAQEEAAH+AgAB/wMAAQEB
|
||||
gAIAAQEDAAEBAf8BAAEBAf8DAAEBAYACAAEDAwABAQH/AQABAQH/AYACAAEDAYACAAEHAYACAAEDAf8B
|
||||
gAEDAf8BgAIAAQcBwAIAAQcBgAIAAQcB/wGAAQMB/wHAAgABDwHgAgABDwHAAgABDwH/AcABBwH/AeAC
|
||||
AAEfAeACAAEfAeACAAEfAf8BwAEHAf8B8AIAAT8B8AIAAT8B8AIAAT8B/wHgAQ8B/wH4AgABfwH4AgAB
|
||||
fwH4AgABfwH/AeABHwH/AfwCAAH/Af4BAAEBAf8B/AIAAv8B8AF/Av8BAAEDAv8BAAEDAv8BAAEDAv8B
|
||||
+AP/AeABHwL/AeABHwL/AeABHwH/FgAL
|
||||
</value>
|
||||
</data>
|
||||
<data name="buttonToolTip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="buttonToolTip.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>142, 17</value>
|
||||
</data>
|
||||
<data name="buttonToolTip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="rtbMessage.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="rtbMessage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="rtbMessage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>MessageBoxExForm</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Standard MessageBoxEx icons
|
||||
/// </summary>
|
||||
public enum MessageBoxExIcon
|
||||
{
|
||||
None,
|
||||
Asterisk,
|
||||
Error,
|
||||
Exclamation,
|
||||
Hand,
|
||||
Information,
|
||||
Question,
|
||||
Stop,
|
||||
Warning
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,166 @@
|
||||
<VisualStudioProject>
|
||||
<CSHARP
|
||||
ProjectType = "Local"
|
||||
ProductVersion = "7.10.3077"
|
||||
SchemaVersion = "2.0"
|
||||
ProjectGuid = "{4847D05C-EB58-49D9-B280-D22F8FF01857}"
|
||||
>
|
||||
<Build>
|
||||
<Settings
|
||||
ApplicationIcon = ""
|
||||
AssemblyKeyContainerName = ""
|
||||
AssemblyName = "MessageBoxExLib"
|
||||
AssemblyOriginatorKeyFile = ""
|
||||
DefaultClientScript = "JScript"
|
||||
DefaultHTMLPageLayout = "Grid"
|
||||
DefaultTargetSchema = "IE50"
|
||||
DelaySign = "false"
|
||||
OutputType = "Library"
|
||||
PreBuildEvent = ""
|
||||
PostBuildEvent = ""
|
||||
RootNamespace = "Utils.MessageBoxExLib"
|
||||
RunPostBuildEvent = "OnBuildSuccess"
|
||||
StartupObject = ""
|
||||
>
|
||||
<Config
|
||||
Name = "Debug"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "DEBUG;TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "true"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "false"
|
||||
OutputPath = "bin\Debug\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
<Config
|
||||
Name = "Release"
|
||||
AllowUnsafeBlocks = "false"
|
||||
BaseAddress = "285212672"
|
||||
CheckForOverflowUnderflow = "false"
|
||||
ConfigurationOverrideFile = ""
|
||||
DefineConstants = "TRACE"
|
||||
DocumentationFile = ""
|
||||
DebugSymbols = "false"
|
||||
FileAlignment = "4096"
|
||||
IncrementalBuild = "false"
|
||||
NoStdLib = "false"
|
||||
NoWarn = ""
|
||||
Optimize = "true"
|
||||
OutputPath = "bin\Release\"
|
||||
RegisterForComInterop = "false"
|
||||
RemoveIntegerChecks = "false"
|
||||
TreatWarningsAsErrors = "false"
|
||||
WarningLevel = "4"
|
||||
/>
|
||||
</Settings>
|
||||
<References>
|
||||
<Reference
|
||||
Name = "System"
|
||||
AssemblyName = "System"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Data"
|
||||
AssemblyName = "System.Data"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.XML"
|
||||
AssemblyName = "System.Xml"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Drawing"
|
||||
AssemblyName = "System.Drawing"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
|
||||
/>
|
||||
<Reference
|
||||
Name = "System.Windows.Forms"
|
||||
AssemblyName = "System.Windows.Forms"
|
||||
HintPath = "..\..\..\..\..\..\WINNT\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
|
||||
/>
|
||||
</References>
|
||||
</Build>
|
||||
<Files>
|
||||
<Include>
|
||||
<File
|
||||
RelPath = "AssemblyInfo.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxEx.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExButton.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExButtons.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExForm.cs"
|
||||
SubType = "Form"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExForm.resx"
|
||||
DependentUpon = "MessageBoxExForm.cs"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExIcon.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExManager.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "MessageBoxExResult.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Notes.txt"
|
||||
BuildAction = "Content"
|
||||
/>
|
||||
<File
|
||||
RelPath = "TimeoutResult.cs"
|
||||
SubType = "Code"
|
||||
BuildAction = "Compile"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Resources\StandardButtonsText.de.resx"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Resources\StandardButtonsText.fr.resx"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
<File
|
||||
RelPath = "Resources\StandardButtonsText.resx"
|
||||
BuildAction = "EmbeddedResource"
|
||||
/>
|
||||
</Include>
|
||||
</Files>
|
||||
</CSHARP>
|
||||
</VisualStudioProject>
|
||||
|
||||
@ -0,0 +1,205 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Resources;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Manages a collection of MessageBoxes. Basically manages the
|
||||
/// saved response handling for messageBoxes.
|
||||
/// </summary>
|
||||
public class MessageBoxExManager
|
||||
{
|
||||
#region Fields
|
||||
private static Hashtable _messageBoxes = new Hashtable();
|
||||
private static Hashtable _savedResponses = new Hashtable();
|
||||
|
||||
private static Hashtable _standardButtonsText = new Hashtable();
|
||||
#endregion
|
||||
|
||||
#region Static ctor
|
||||
static MessageBoxExManager()
|
||||
{
|
||||
try
|
||||
{
|
||||
Assembly current = typeof(MessageBoxExManager).Assembly;
|
||||
string[] resources = current.GetManifestResourceNames();
|
||||
ResourceManager rm = new ResourceManager("Utils.MessageBoxExLib.Resources.StandardButtonsText", typeof(MessageBoxExManager).Assembly);
|
||||
_standardButtonsText[MessageBoxExButtons.Ok.ToString()] = rm.GetString("Ok");
|
||||
_standardButtonsText[MessageBoxExButtons.Cancel.ToString()] = rm.GetString("Cancel");
|
||||
_standardButtonsText[MessageBoxExButtons.Yes.ToString()] = rm.GetString("Yes");
|
||||
_standardButtonsText[MessageBoxExButtons.No.ToString()] = rm.GetString("No");
|
||||
_standardButtonsText[MessageBoxExButtons.Abort.ToString()] = rm.GetString("Abort");
|
||||
_standardButtonsText[MessageBoxExButtons.Retry.ToString()] = rm.GetString("Retry");
|
||||
_standardButtonsText[MessageBoxExButtons.Ignore.ToString()] = rm.GetString("Ignore");
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
System.Diagnostics.Debug.Assert(false, "Unable to load resources for MessageBoxEx", ex.ToString());
|
||||
|
||||
//Load default resources
|
||||
_standardButtonsText[MessageBoxExButtons.Ok.ToString()] = "Ok";
|
||||
_standardButtonsText[MessageBoxExButtons.Cancel.ToString()] = "Cancel";
|
||||
_standardButtonsText[MessageBoxExButtons.Yes.ToString()] = "Yes";
|
||||
_standardButtonsText[MessageBoxExButtons.No.ToString()] = "No";
|
||||
_standardButtonsText[MessageBoxExButtons.Abort.ToString()] = "Abort";
|
||||
_standardButtonsText[MessageBoxExButtons.Retry.ToString()] = "Retry";
|
||||
_standardButtonsText[MessageBoxExButtons.Ignore.ToString()] = "Ignore";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
/// <summary>
|
||||
/// Creates a new message box with the specified name. If null is specified
|
||||
/// in the message name then the message box is not managed by the Manager and
|
||||
/// will be disposed automatically after a call to Show()
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the message box</param>
|
||||
/// <returns>A new message box</returns>
|
||||
public static MessageBoxEx CreateMessageBox(string name)
|
||||
{
|
||||
if(name != null && _messageBoxes.ContainsKey(name))
|
||||
{
|
||||
string err = string.Format("A MessageBox with the name {0} already exists.",name);
|
||||
throw new ArgumentException(err,"name");
|
||||
}
|
||||
|
||||
MessageBoxEx msgBox = new MessageBoxEx();
|
||||
msgBox.Name = name;
|
||||
if(msgBox.Name != null)
|
||||
{
|
||||
_messageBoxes[name] = msgBox;
|
||||
}
|
||||
|
||||
return msgBox;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the message box with the specified name
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the message box to retrieve</param>
|
||||
/// <returns>The message box with the specified name or null if a message box
|
||||
/// with that name does not exist</returns>
|
||||
public static MessageBoxEx GetMessageBox(string name)
|
||||
{
|
||||
if(_messageBoxes.Contains(name))
|
||||
{
|
||||
return _messageBoxes[name] as MessageBoxEx;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the message box with the specified name
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the message box to delete</param>
|
||||
public static void DeleteMessageBox(string name)
|
||||
{
|
||||
if(name == null)
|
||||
return;
|
||||
|
||||
if(_messageBoxes.Contains(name))
|
||||
{
|
||||
MessageBoxEx msgBox = _messageBoxes[name] as MessageBoxEx;
|
||||
msgBox.Dispose();
|
||||
_messageBoxes.Remove(name);
|
||||
}
|
||||
}
|
||||
|
||||
public static void WriteSavedResponses(Stream stream)
|
||||
{
|
||||
throw new NotImplementedException("This feature has not yet been implemented");
|
||||
}
|
||||
|
||||
public static void ReadSavedResponses(Stream stream)
|
||||
{
|
||||
throw new NotImplementedException("This feature has not yet been implemented");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset the saved response for the message box with the specified name.
|
||||
/// </summary>
|
||||
/// <param name="messageBoxName">The name of the message box whose response is to be reset.</param>
|
||||
public static void ResetSavedResponse(string messageBoxName)
|
||||
{
|
||||
if(messageBoxName == null)
|
||||
return;
|
||||
|
||||
if(_savedResponses.ContainsKey(messageBoxName))
|
||||
{
|
||||
_savedResponses.Remove(messageBoxName);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Resets the saved responses for all message boxes that are managed by the manager.
|
||||
/// </summary>
|
||||
public static void ResetAllSavedResponses()
|
||||
{
|
||||
_savedResponses.Clear();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Internal Methods
|
||||
/// <summary>
|
||||
/// Set the saved response for the specified message box
|
||||
/// </summary>
|
||||
/// <param name="msgBox">The message box whose response is to be set</param>
|
||||
/// <param name="response">The response to save for the message box</param>
|
||||
internal static void SetSavedResponse(MessageBoxEx msgBox, string response)
|
||||
{
|
||||
if(msgBox.Name == null)
|
||||
return;
|
||||
|
||||
_savedResponses[msgBox.Name] = response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the saved response for the specified message box
|
||||
/// </summary>
|
||||
/// <param name="msgBox">The message box whose saved response is to be retrieved</param>
|
||||
/// <returns>The saved response if exists, null otherwise</returns>
|
||||
internal static string GetSavedResponse(MessageBoxEx msgBox)
|
||||
{
|
||||
string msgBoxName = msgBox.Name;
|
||||
if(msgBoxName == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(_savedResponses.ContainsKey(msgBoxName))
|
||||
{
|
||||
return _savedResponses[msgBox.Name].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the localized string for standard button texts like,
|
||||
/// "Ok", "Cancel" etc.
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
internal static string GetLocalizedString(string key)
|
||||
{
|
||||
if(_standardButtonsText.ContainsKey(key))
|
||||
{
|
||||
return (string)_standardButtonsText[key];
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Standard MessageBoxEx results
|
||||
/// </summary>
|
||||
public struct MessageBoxExResult
|
||||
{
|
||||
public const string Ok = "Ok";
|
||||
public const string Cancel = "Cancel";
|
||||
public const string Yes = "Yes";
|
||||
public const string No = "No";
|
||||
public const string Abort = "Abort";
|
||||
public const string Retry = "Retry";
|
||||
public const string Ignore = "Ignore";
|
||||
public const string Timeout = "Timeout";
|
||||
}
|
||||
}
|
||||
19
Daten/MessageBoxExDemo/Backup/MessageBoxExLib/Notes.txt
Normal file
@ -0,0 +1,19 @@
|
||||
Purpose
|
||||
|
||||
This library provides an advanced framework for message boxes.
|
||||
Some salient features are -
|
||||
|
||||
1. Ability to associate text with buttons, thus you can specify a
|
||||
text for each button that tells the user what will happen when the button
|
||||
is pressed. This is currently shown as a simple tooltip.
|
||||
|
||||
2. Ability to specify an option that allows the user to always use the same response
|
||||
for the specified messagebox.
|
||||
|
||||
3. Ability to save/load user preferences for various messageboxes. (Not implemented in this release)
|
||||
|
||||
4. Ability to customize buttons, icon, sounds.
|
||||
|
||||
5. Ability to specify a Timeout for the message box.
|
||||
|
||||
6. Standard button texts are localized based on current culture.
|
||||
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="ResMimeType">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="Version">
|
||||
<value>1.0.0.0</value>
|
||||
</resheader>
|
||||
<resheader name="Reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="Writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Ok">
|
||||
<value>O.K.</value>
|
||||
</data>
|
||||
<data name="Cancel">
|
||||
<value>Löschen</value>
|
||||
</data>
|
||||
<data name="Yes">
|
||||
<value>Ja</value>
|
||||
</data>
|
||||
<data name="No">
|
||||
<value>Nein</value>
|
||||
</data>
|
||||
<data name="Abort">
|
||||
<value>Abbruch</value>
|
||||
</data>
|
||||
<data name="Retry">
|
||||
<value>Wiederholung</value>
|
||||
</data>
|
||||
<data name="Ignore">
|
||||
<value>Ignorieren</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="ResMimeType">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="Version">
|
||||
<value>1.0.0.0</value>
|
||||
</resheader>
|
||||
<resheader name="Reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="Writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Ok">
|
||||
<value>Ok</value>
|
||||
</data>
|
||||
<data name="Cancel">
|
||||
<value>Annuler</value>
|
||||
</data>
|
||||
<data name="Yes">
|
||||
<value>Oui</value>
|
||||
</data>
|
||||
<data name="No">
|
||||
<value>Non</value>
|
||||
</data>
|
||||
<data name="Abort">
|
||||
<value>Arrêt</value>
|
||||
</data>
|
||||
<data name="Retry">
|
||||
<value>Nouvelle</value>
|
||||
</data>
|
||||
<data name="Ignore">
|
||||
<value>Ignorez</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="ResMimeType">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="Version">
|
||||
<value>1.0.0.0</value>
|
||||
</resheader>
|
||||
<resheader name="Reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="Writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Ok">
|
||||
<value>Ok</value>
|
||||
</data>
|
||||
<data name="Cancel">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="Yes">
|
||||
<value>Yes</value>
|
||||
</data>
|
||||
<data name="No">
|
||||
<value>No</value>
|
||||
</data>
|
||||
<data name="Abort">
|
||||
<value>Abort</value>
|
||||
</data>
|
||||
<data name="Retry">
|
||||
<value>Retry</value>
|
||||
</data>
|
||||
<data name="Ignore">
|
||||
<value>Ignore</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -0,0 +1,29 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Enumerates the kind of results that can be returned when a
|
||||
/// message box times out
|
||||
/// </summary>
|
||||
public enum TimeoutResult
|
||||
{
|
||||
/// <summary>
|
||||
/// On timeout the value associated with the default button is set as the result.
|
||||
/// This is the default action on timeout.
|
||||
/// </summary>
|
||||
Default,
|
||||
|
||||
/// <summary>
|
||||
/// On timeout the value associated with the cancel button is set as the result. If
|
||||
/// the messagebox does not have a cancel button then the value associated with
|
||||
/// the default button is set as the result.
|
||||
/// </summary>
|
||||
Cancel,
|
||||
|
||||
/// <summary>
|
||||
/// On timeout MessageBoxExResult.Timeout is set as the result.
|
||||
/// </summary>
|
||||
Timeout
|
||||
}
|
||||
}
|
||||
30
Daten/MessageBoxExDemo/MessageBoxExDemo.sln
Normal file
@ -0,0 +1,30 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30406.217
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessageBoxExDemo", "MessageBoxExDemo\MessageBoxExDemo.csproj", "{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessageBoxExLib", "MessageBoxExLib\MessageBoxExLib.csproj", "{4847D05C-EB58-49D9-B280-D22F8FF01857}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4847D05C-EB58-49D9-B280-D22F8FF01857}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {45569CD2-DCFC-4016-8A6C-EF6C8B7B4730}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
BIN
Daten/MessageBoxExDemo/MessageBoxExDemo/App.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
58
Daten/MessageBoxExDemo/MessageBoxExDemo/AssemblyInfo.cs
Normal file
@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
116
Daten/MessageBoxExDemo/MessageBoxExDemo/MessageBoxExDemo.csproj
Normal file
@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
|
||||
<PropertyGroup>
|
||||
<ProjectType>Local</ProjectType>
|
||||
<ProductVersion>7.10.3077</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{69E4A5E2-96EF-4412-AE8B-DAF571C00CF2}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ApplicationIcon>App.ico</ApplicationIcon>
|
||||
<AssemblyKeyContainerName />
|
||||
<AssemblyName>MessageBoxExDemo</AssemblyName>
|
||||
<AssemblyOriginatorKeyFile />
|
||||
<DefaultClientScript>JScript</DefaultClientScript>
|
||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||
<DelaySign>false</DelaySign>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>MessageBoxExDemo</RootNamespace>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<StartupObject />
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>0.0</OldToolsVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile />
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile />
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn />
|
||||
<Optimize>false</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>full</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile />
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DocumentationFile />
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn />
|
||||
<Optimize>true</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>none</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MessageBoxExLib\MessageBoxExLib.csproj">
|
||||
<Name>MessageBoxExLib</Name>
|
||||
<Project>{4847D05C-EB58-49D9-B280-D22F8FF01857}</Project>
|
||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
||||
</ProjectReference>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Data">
|
||||
<Name>System.Data</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing">
|
||||
<Name>System.Drawing</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms">
|
||||
<Name>System.Windows.Forms</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxExDemoForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Content Include="App.ico" />
|
||||
<EmbeddedResource Include="MessageBoxExDemoForm.resx">
|
||||
<DependentUpon>MessageBoxExDemoForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent />
|
||||
<PostBuildEvent />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
999
Daten/MessageBoxExDemo/MessageBoxExDemo/MessageBoxExDemoForm.cs
Normal file
@ -0,0 +1,999 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Data;
|
||||
using System.Globalization;
|
||||
using System.Threading;
|
||||
|
||||
using Utils.MessageBoxExLib;
|
||||
|
||||
namespace MessageBoxExDemo
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class MessageBoxExDemoForm : System.Windows.Forms.Form
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private System.Windows.Forms.Button btnShowCustom;
|
||||
private System.Windows.Forms.GroupBox grpBoxIcon;
|
||||
private System.Windows.Forms.RadioButton radioButton4;
|
||||
private System.Windows.Forms.RadioButton radioButton3;
|
||||
private System.Windows.Forms.RadioButton radioButton2;
|
||||
private System.Windows.Forms.RadioButton radioButton1;
|
||||
private System.Windows.Forms.ListView listViewButtons;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader1;
|
||||
private System.Windows.Forms.TextBox txtMessage;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TextBox txtCaption;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.RadioButton radioButton5;
|
||||
private System.Windows.Forms.TextBox txtSaveResponse;
|
||||
private System.Windows.Forms.CheckBox chbAllowSaveResponse;
|
||||
private System.Windows.Forms.TextBox txtResult;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.ListView listViewMessageBoxes;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader2;
|
||||
private System.Windows.Forms.Button btnAddMessageBox;
|
||||
private System.Windows.Forms.TextBox txtName;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.TextBox txtButtonText;
|
||||
private System.Windows.Forms.Label ButtonText;
|
||||
private System.Windows.Forms.TextBox txtButtonVal;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.CheckBox chbIsCancel;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Button btnAddButton;
|
||||
private System.Windows.Forms.TextBox txtButtonHelp;
|
||||
private System.Windows.Forms.CheckBox chbUseSavedResponse;
|
||||
private System.Windows.Forms.CheckBox chbPlayAlert;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.TextBox txtTimeout;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.ComboBox cmbTimeoutResult;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private PictureBox pictureBoxAsterix;
|
||||
private PictureBox pictureBoxExclamation;
|
||||
private PictureBox pictureBoxHand;
|
||||
private PictureBox pictureBoxQuestion;
|
||||
private Button buttonTestValuesManually;
|
||||
private System.ComponentModel.IContainer components;
|
||||
#endregion
|
||||
|
||||
#region Ctor/Dtor
|
||||
public MessageBoxExDemoForm()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if (components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MessageBoxExDemoForm));
|
||||
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("Ok");
|
||||
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("Cancel");
|
||||
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("Yes");
|
||||
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("No");
|
||||
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("Abort");
|
||||
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("Retry");
|
||||
System.Windows.Forms.ListViewItem listViewItem7 = new System.Windows.Forms.ListViewItem("Ignore");
|
||||
this.btnShowCustom = new System.Windows.Forms.Button();
|
||||
this.grpBoxIcon = new System.Windows.Forms.GroupBox();
|
||||
this.pictureBoxQuestion = new System.Windows.Forms.PictureBox();
|
||||
this.pictureBoxHand = new System.Windows.Forms.PictureBox();
|
||||
this.pictureBoxExclamation = new System.Windows.Forms.PictureBox();
|
||||
this.pictureBoxAsterix = new System.Windows.Forms.PictureBox();
|
||||
this.radioButton5 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton4 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton3 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton2 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton1 = new System.Windows.Forms.RadioButton();
|
||||
this.listViewButtons = new System.Windows.Forms.ListView();
|
||||
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.txtMessage = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.txtCaption = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.chbAllowSaveResponse = new System.Windows.Forms.CheckBox();
|
||||
this.txtSaveResponse = new System.Windows.Forms.TextBox();
|
||||
this.txtResult = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.listViewMessageBoxes = new System.Windows.Forms.ListView();
|
||||
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.btnAddMessageBox = new System.Windows.Forms.Button();
|
||||
this.txtName = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.txtButtonHelp = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.chbIsCancel = new System.Windows.Forms.CheckBox();
|
||||
this.txtButtonVal = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.txtButtonText = new System.Windows.Forms.TextBox();
|
||||
this.ButtonText = new System.Windows.Forms.Label();
|
||||
this.btnAddButton = new System.Windows.Forms.Button();
|
||||
this.chbUseSavedResponse = new System.Windows.Forms.CheckBox();
|
||||
this.chbPlayAlert = new System.Windows.Forms.CheckBox();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.txtTimeout = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.cmbTimeoutResult = new System.Windows.Forms.ComboBox();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.buttonTestValuesManually = new System.Windows.Forms.Button();
|
||||
this.grpBoxIcon.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuestion)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxHand)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxExclamation)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAsterix)).BeginInit();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnShowCustom
|
||||
//
|
||||
this.btnShowCustom.Location = new System.Drawing.Point(752, 328);
|
||||
this.btnShowCustom.Name = "btnShowCustom";
|
||||
this.btnShowCustom.Size = new System.Drawing.Size(160, 23);
|
||||
this.btnShowCustom.TabIndex = 3;
|
||||
this.btnShowCustom.Text = "Show Custom MessageBox";
|
||||
this.toolTip1.SetToolTip(this.btnShowCustom, "Show the currently selected message box from the list");
|
||||
this.btnShowCustom.Click += new System.EventHandler(this.btnShowCustom_Click);
|
||||
//
|
||||
// grpBoxIcon
|
||||
//
|
||||
this.grpBoxIcon.Controls.Add(this.pictureBoxQuestion);
|
||||
this.grpBoxIcon.Controls.Add(this.pictureBoxHand);
|
||||
this.grpBoxIcon.Controls.Add(this.pictureBoxExclamation);
|
||||
this.grpBoxIcon.Controls.Add(this.pictureBoxAsterix);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton5);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton4);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton3);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton2);
|
||||
this.grpBoxIcon.Controls.Add(this.radioButton1);
|
||||
this.grpBoxIcon.Location = new System.Drawing.Point(448, 216);
|
||||
this.grpBoxIcon.Name = "grpBoxIcon";
|
||||
this.grpBoxIcon.Size = new System.Drawing.Size(136, 184);
|
||||
this.grpBoxIcon.TabIndex = 15;
|
||||
this.grpBoxIcon.TabStop = false;
|
||||
this.grpBoxIcon.Text = "Icon";
|
||||
//
|
||||
// pictureBoxQuestion
|
||||
//
|
||||
this.pictureBoxQuestion.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxQuestion.Image")));
|
||||
this.pictureBoxQuestion.Location = new System.Drawing.Point(98, 115);
|
||||
this.pictureBoxQuestion.Name = "pictureBoxQuestion";
|
||||
this.pictureBoxQuestion.Size = new System.Drawing.Size(32, 32);
|
||||
this.pictureBoxQuestion.TabIndex = 18;
|
||||
this.pictureBoxQuestion.TabStop = false;
|
||||
//
|
||||
// pictureBoxHand
|
||||
//
|
||||
this.pictureBoxHand.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxHand.Image")));
|
||||
this.pictureBoxHand.Location = new System.Drawing.Point(98, 82);
|
||||
this.pictureBoxHand.Name = "pictureBoxHand";
|
||||
this.pictureBoxHand.Size = new System.Drawing.Size(32, 32);
|
||||
this.pictureBoxHand.TabIndex = 18;
|
||||
this.pictureBoxHand.TabStop = false;
|
||||
//
|
||||
// pictureBoxExclamation
|
||||
//
|
||||
this.pictureBoxExclamation.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxExclamation.Image")));
|
||||
this.pictureBoxExclamation.Location = new System.Drawing.Point(98, 50);
|
||||
this.pictureBoxExclamation.Name = "pictureBoxExclamation";
|
||||
this.pictureBoxExclamation.Size = new System.Drawing.Size(32, 32);
|
||||
this.pictureBoxExclamation.TabIndex = 18;
|
||||
this.pictureBoxExclamation.TabStop = false;
|
||||
//
|
||||
// pictureBoxAsterix
|
||||
//
|
||||
this.pictureBoxAsterix.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxAsterix.Image")));
|
||||
this.pictureBoxAsterix.Location = new System.Drawing.Point(98, 18);
|
||||
this.pictureBoxAsterix.Name = "pictureBoxAsterix";
|
||||
this.pictureBoxAsterix.Size = new System.Drawing.Size(32, 32);
|
||||
this.pictureBoxAsterix.TabIndex = 18;
|
||||
this.pictureBoxAsterix.TabStop = false;
|
||||
//
|
||||
// radioButton5
|
||||
//
|
||||
this.radioButton5.Location = new System.Drawing.Point(16, 152);
|
||||
this.radioButton5.Name = "radioButton5";
|
||||
this.radioButton5.Size = new System.Drawing.Size(104, 24);
|
||||
this.radioButton5.TabIndex = 4;
|
||||
this.radioButton5.Text = "None";
|
||||
//
|
||||
// radioButton4
|
||||
//
|
||||
this.radioButton4.Location = new System.Drawing.Point(16, 120);
|
||||
this.radioButton4.Name = "radioButton4";
|
||||
this.radioButton4.Size = new System.Drawing.Size(104, 24);
|
||||
this.radioButton4.TabIndex = 2;
|
||||
this.radioButton4.Text = "Question";
|
||||
//
|
||||
// radioButton3
|
||||
//
|
||||
this.radioButton3.Location = new System.Drawing.Point(16, 56);
|
||||
this.radioButton3.Name = "radioButton3";
|
||||
this.radioButton3.Size = new System.Drawing.Size(104, 24);
|
||||
this.radioButton3.TabIndex = 1;
|
||||
this.radioButton3.Text = "Exclamation";
|
||||
//
|
||||
// radioButton2
|
||||
//
|
||||
this.radioButton2.Location = new System.Drawing.Point(16, 88);
|
||||
this.radioButton2.Name = "radioButton2";
|
||||
this.radioButton2.Size = new System.Drawing.Size(104, 24);
|
||||
this.radioButton2.TabIndex = 3;
|
||||
this.radioButton2.Text = "Hand";
|
||||
//
|
||||
// radioButton1
|
||||
//
|
||||
this.radioButton1.Checked = true;
|
||||
this.radioButton1.Location = new System.Drawing.Point(16, 24);
|
||||
this.radioButton1.Name = "radioButton1";
|
||||
this.radioButton1.Size = new System.Drawing.Size(104, 24);
|
||||
this.radioButton1.TabIndex = 0;
|
||||
this.radioButton1.TabStop = true;
|
||||
this.radioButton1.Text = "Asterisk";
|
||||
//
|
||||
// listViewButtons
|
||||
//
|
||||
this.listViewButtons.CheckBoxes = true;
|
||||
this.listViewButtons.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1});
|
||||
this.listViewButtons.HideSelection = false;
|
||||
listViewItem1.StateImageIndex = 0;
|
||||
listViewItem2.StateImageIndex = 0;
|
||||
listViewItem3.StateImageIndex = 0;
|
||||
listViewItem4.StateImageIndex = 0;
|
||||
listViewItem5.StateImageIndex = 0;
|
||||
listViewItem6.StateImageIndex = 0;
|
||||
listViewItem7.StateImageIndex = 0;
|
||||
this.listViewButtons.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
|
||||
listViewItem1,
|
||||
listViewItem2,
|
||||
listViewItem3,
|
||||
listViewItem4,
|
||||
listViewItem5,
|
||||
listViewItem6,
|
||||
listViewItem7});
|
||||
this.listViewButtons.Location = new System.Drawing.Point(296, 216);
|
||||
this.listViewButtons.Name = "listViewButtons";
|
||||
this.listViewButtons.Size = new System.Drawing.Size(136, 184);
|
||||
this.listViewButtons.TabIndex = 14;
|
||||
this.listViewButtons.UseCompatibleStateImageBehavior = false;
|
||||
this.listViewButtons.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// columnHeader1
|
||||
//
|
||||
this.columnHeader1.Text = "Buttons";
|
||||
this.columnHeader1.Width = 130;
|
||||
//
|
||||
// txtMessage
|
||||
//
|
||||
this.txtMessage.Location = new System.Drawing.Point(72, 112);
|
||||
this.txtMessage.Multiline = true;
|
||||
this.txtMessage.Name = "txtMessage";
|
||||
this.txtMessage.Size = new System.Drawing.Size(280, 80);
|
||||
this.txtMessage.TabIndex = 5;
|
||||
this.txtMessage.Text = "<Message>";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(16, 112);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(49, 13);
|
||||
this.label2.TabIndex = 4;
|
||||
this.label2.Text = "Message";
|
||||
//
|
||||
// txtCaption
|
||||
//
|
||||
this.txtCaption.Location = new System.Drawing.Point(72, 72);
|
||||
this.txtCaption.Name = "txtCaption";
|
||||
this.txtCaption.Size = new System.Drawing.Size(280, 21);
|
||||
this.txtCaption.TabIndex = 3;
|
||||
this.txtCaption.Text = "<Caption>";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(16, 72);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(44, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Caption";
|
||||
//
|
||||
// chbAllowSaveResponse
|
||||
//
|
||||
this.chbAllowSaveResponse.Location = new System.Drawing.Point(80, 408);
|
||||
this.chbAllowSaveResponse.Name = "chbAllowSaveResponse";
|
||||
this.chbAllowSaveResponse.Size = new System.Drawing.Size(144, 24);
|
||||
this.chbAllowSaveResponse.TabIndex = 16;
|
||||
this.chbAllowSaveResponse.Text = "Allow Save Response";
|
||||
//
|
||||
// txtSaveResponse
|
||||
//
|
||||
this.txtSaveResponse.Location = new System.Drawing.Point(82, 432);
|
||||
this.txtSaveResponse.Multiline = true;
|
||||
this.txtSaveResponse.Name = "txtSaveResponse";
|
||||
this.txtSaveResponse.Size = new System.Drawing.Size(272, 80);
|
||||
this.txtSaveResponse.TabIndex = 17;
|
||||
this.txtSaveResponse.Text = "<Save Response Text>";
|
||||
//
|
||||
// txtResult
|
||||
//
|
||||
this.txtResult.Location = new System.Drawing.Point(752, 512);
|
||||
this.txtResult.Name = "txtResult";
|
||||
this.txtResult.Size = new System.Drawing.Size(160, 21);
|
||||
this.txtResult.TabIndex = 7;
|
||||
this.txtResult.Text = "<Result>";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(712, 512);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(37, 13);
|
||||
this.label3.TabIndex = 6;
|
||||
this.label3.Text = "Result";
|
||||
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// listViewMessageBoxes
|
||||
//
|
||||
this.listViewMessageBoxes.Activation = System.Windows.Forms.ItemActivation.TwoClick;
|
||||
this.listViewMessageBoxes.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader2});
|
||||
this.listViewMessageBoxes.HideSelection = false;
|
||||
this.listViewMessageBoxes.Location = new System.Drawing.Point(752, 96);
|
||||
this.listViewMessageBoxes.MultiSelect = false;
|
||||
this.listViewMessageBoxes.Name = "listViewMessageBoxes";
|
||||
this.listViewMessageBoxes.Size = new System.Drawing.Size(192, 224);
|
||||
this.listViewMessageBoxes.TabIndex = 2;
|
||||
this.listViewMessageBoxes.UseCompatibleStateImageBehavior = false;
|
||||
this.listViewMessageBoxes.View = System.Windows.Forms.View.Details;
|
||||
this.listViewMessageBoxes.ItemActivate += new System.EventHandler(this.listViewMessageBoxes_ItemActivate);
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
this.columnHeader2.Text = "MessageBoxes";
|
||||
this.columnHeader2.Width = 183;
|
||||
//
|
||||
// btnAddMessageBox
|
||||
//
|
||||
this.btnAddMessageBox.Location = new System.Drawing.Point(608, 192);
|
||||
this.btnAddMessageBox.Name = "btnAddMessageBox";
|
||||
this.btnAddMessageBox.Size = new System.Drawing.Size(128, 23);
|
||||
this.btnAddMessageBox.TabIndex = 1;
|
||||
this.btnAddMessageBox.Text = "Add MessageBox >>";
|
||||
this.toolTip1.SetToolTip(this.btnAddMessageBox, "Create a message box with the specified information and add it to the list");
|
||||
this.btnAddMessageBox.Click += new System.EventHandler(this.btnAddMessageBox_Click);
|
||||
//
|
||||
// txtName
|
||||
//
|
||||
this.txtName.Location = new System.Drawing.Point(72, 32);
|
||||
this.txtName.Name = "txtName";
|
||||
this.txtName.Size = new System.Drawing.Size(280, 21);
|
||||
this.txtName.TabIndex = 1;
|
||||
this.txtName.Text = "<Name>";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(24, 32);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(34, 13);
|
||||
this.label4.TabIndex = 0;
|
||||
this.label4.Text = "Name";
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.txtButtonHelp);
|
||||
this.groupBox1.Controls.Add(this.label6);
|
||||
this.groupBox1.Controls.Add(this.chbIsCancel);
|
||||
this.groupBox1.Controls.Add(this.txtButtonVal);
|
||||
this.groupBox1.Controls.Add(this.label5);
|
||||
this.groupBox1.Controls.Add(this.txtButtonText);
|
||||
this.groupBox1.Controls.Add(this.ButtonText);
|
||||
this.groupBox1.Controls.Add(this.grpBoxIcon);
|
||||
this.groupBox1.Controls.Add(this.listViewButtons);
|
||||
this.groupBox1.Controls.Add(this.txtMessage);
|
||||
this.groupBox1.Controls.Add(this.label2);
|
||||
this.groupBox1.Controls.Add(this.txtCaption);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Controls.Add(this.chbAllowSaveResponse);
|
||||
this.groupBox1.Controls.Add(this.txtSaveResponse);
|
||||
this.groupBox1.Controls.Add(this.btnAddButton);
|
||||
this.groupBox1.Controls.Add(this.txtName);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Location = new System.Drawing.Point(8, 8);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(592, 528);
|
||||
this.groupBox1.TabIndex = 0;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "MessageBox";
|
||||
//
|
||||
// txtButtonHelp
|
||||
//
|
||||
this.txtButtonHelp.Location = new System.Drawing.Point(88, 280);
|
||||
this.txtButtonHelp.Name = "txtButtonHelp";
|
||||
this.txtButtonHelp.Size = new System.Drawing.Size(96, 21);
|
||||
this.txtButtonHelp.TabIndex = 11;
|
||||
this.txtButtonHelp.Text = "<Help Text>";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(16, 280);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(53, 13);
|
||||
this.label6.TabIndex = 10;
|
||||
this.label6.Text = "Help Text";
|
||||
//
|
||||
// chbIsCancel
|
||||
//
|
||||
this.chbIsCancel.Location = new System.Drawing.Point(88, 312);
|
||||
this.chbIsCancel.Name = "chbIsCancel";
|
||||
this.chbIsCancel.Size = new System.Drawing.Size(72, 24);
|
||||
this.chbIsCancel.TabIndex = 12;
|
||||
this.chbIsCancel.Text = "Is Cancel";
|
||||
//
|
||||
// txtButtonVal
|
||||
//
|
||||
this.txtButtonVal.Location = new System.Drawing.Point(88, 248);
|
||||
this.txtButtonVal.Name = "txtButtonVal";
|
||||
this.txtButtonVal.Size = new System.Drawing.Size(96, 21);
|
||||
this.txtButtonVal.TabIndex = 9;
|
||||
this.txtButtonVal.Text = "<Button Value>";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(16, 248);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(68, 13);
|
||||
this.label5.TabIndex = 8;
|
||||
this.label5.Text = "Button Value";
|
||||
//
|
||||
// txtButtonText
|
||||
//
|
||||
this.txtButtonText.Location = new System.Drawing.Point(88, 216);
|
||||
this.txtButtonText.Name = "txtButtonText";
|
||||
this.txtButtonText.Size = new System.Drawing.Size(96, 21);
|
||||
this.txtButtonText.TabIndex = 7;
|
||||
this.txtButtonText.Text = "<Button Text>";
|
||||
//
|
||||
// ButtonText
|
||||
//
|
||||
this.ButtonText.AutoSize = true;
|
||||
this.ButtonText.Location = new System.Drawing.Point(16, 216);
|
||||
this.ButtonText.Name = "ButtonText";
|
||||
this.ButtonText.Size = new System.Drawing.Size(61, 13);
|
||||
this.ButtonText.TabIndex = 6;
|
||||
this.ButtonText.Text = "ButtonText";
|
||||
//
|
||||
// btnAddButton
|
||||
//
|
||||
this.btnAddButton.Location = new System.Drawing.Point(192, 216);
|
||||
this.btnAddButton.Name = "btnAddButton";
|
||||
this.btnAddButton.Size = new System.Drawing.Size(88, 23);
|
||||
this.btnAddButton.TabIndex = 13;
|
||||
this.btnAddButton.Text = "Add Button >>";
|
||||
this.toolTip1.SetToolTip(this.btnAddButton, "Create a button using the specified information and add it to the list");
|
||||
this.btnAddButton.Click += new System.EventHandler(this.btnAddButton_Click);
|
||||
//
|
||||
// chbUseSavedResponse
|
||||
//
|
||||
this.chbUseSavedResponse.Checked = true;
|
||||
this.chbUseSavedResponse.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chbUseSavedResponse.Location = new System.Drawing.Point(752, 352);
|
||||
this.chbUseSavedResponse.Name = "chbUseSavedResponse";
|
||||
this.chbUseSavedResponse.Size = new System.Drawing.Size(160, 24);
|
||||
this.chbUseSavedResponse.TabIndex = 4;
|
||||
this.chbUseSavedResponse.Text = "Use Saved Response";
|
||||
//
|
||||
// chbPlayAlert
|
||||
//
|
||||
this.chbPlayAlert.Checked = true;
|
||||
this.chbPlayAlert.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.chbPlayAlert.Location = new System.Drawing.Point(752, 384);
|
||||
this.chbPlayAlert.Name = "chbPlayAlert";
|
||||
this.chbPlayAlert.Size = new System.Drawing.Size(160, 24);
|
||||
this.chbPlayAlert.TabIndex = 5;
|
||||
this.chbPlayAlert.Text = "Play Alert Sound";
|
||||
//
|
||||
// txtTimeout
|
||||
//
|
||||
this.txtTimeout.Location = new System.Drawing.Point(752, 416);
|
||||
this.txtTimeout.Name = "txtTimeout";
|
||||
this.txtTimeout.Size = new System.Drawing.Size(160, 21);
|
||||
this.txtTimeout.TabIndex = 9;
|
||||
this.txtTimeout.Text = "0";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(704, 416);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(45, 13);
|
||||
this.label7.TabIndex = 8;
|
||||
this.label7.Text = "Timeout";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(912, 416);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(20, 13);
|
||||
this.label8.TabIndex = 10;
|
||||
this.label8.Text = "ms";
|
||||
//
|
||||
// cmbTimeoutResult
|
||||
//
|
||||
this.cmbTimeoutResult.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cmbTimeoutResult.Items.AddRange(new object[] {
|
||||
"Default",
|
||||
"Cancel",
|
||||
"Timeout"});
|
||||
this.cmbTimeoutResult.Location = new System.Drawing.Point(752, 448);
|
||||
this.cmbTimeoutResult.Name = "cmbTimeoutResult";
|
||||
this.cmbTimeoutResult.Size = new System.Drawing.Size(160, 21);
|
||||
this.cmbTimeoutResult.TabIndex = 11;
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(670, 448);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(78, 13);
|
||||
this.label9.TabIndex = 12;
|
||||
this.label9.Text = "Timeout Result";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(872, 8);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 13;
|
||||
this.button1.Text = "Run Tests";
|
||||
this.button1.Visible = false;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// buttonTestValuesManually
|
||||
//
|
||||
this.buttonTestValuesManually.Location = new System.Drawing.Point(823, 37);
|
||||
this.buttonTestValuesManually.Name = "buttonTestValuesManually";
|
||||
this.buttonTestValuesManually.Size = new System.Drawing.Size(120, 23);
|
||||
this.buttonTestValuesManually.TabIndex = 14;
|
||||
this.buttonTestValuesManually.Text = "Test Values manually";
|
||||
this.buttonTestValuesManually.UseVisualStyleBackColor = true;
|
||||
this.buttonTestValuesManually.Click += new System.EventHandler(this.buttonTestValuesManually_Click);
|
||||
//
|
||||
// MessageBoxExDemoForm
|
||||
//
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
|
||||
this.ClientSize = new System.Drawing.Size(960, 550);
|
||||
this.Controls.Add(this.buttonTestValuesManually);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.txtTimeout);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Controls.Add(this.chbPlayAlert);
|
||||
this.Controls.Add(this.txtResult);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.chbUseSavedResponse);
|
||||
this.Controls.Add(this.cmbTimeoutResult);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.btnAddMessageBox);
|
||||
this.Controls.Add(this.listViewMessageBoxes);
|
||||
this.Controls.Add(this.btnShowCustom);
|
||||
this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.Name = "MessageBoxExDemoForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "MessageBoxEx Demo";
|
||||
this.Load += new System.EventHandler(this.MessageBoxExDemoForm_Load);
|
||||
this.grpBoxIcon.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxQuestion)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxHand)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxExclamation)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxAsterix)).EndInit();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Main
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr");
|
||||
Application.Run(new MessageBoxExDemoForm());
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Event Handlers
|
||||
private void btnShowCustom_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
if(listViewMessageBoxes.SelectedItems.Count == 0)
|
||||
{
|
||||
MessageBox.Show(this,"Select a message box to show","Select message box",MessageBoxButtons.OK,MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
MessageBoxEx msgBox = listViewMessageBoxes.SelectedItems[0].Tag as MessageBoxEx;
|
||||
if(msgBox == null)
|
||||
return;
|
||||
|
||||
msgBox.UseSavedResponse = chbUseSavedResponse.Checked;
|
||||
msgBox.PlayAlsertSound = chbPlayAlert.Checked;
|
||||
msgBox.Timeout = Convert.ToInt32(txtTimeout.Text);
|
||||
msgBox.TimeoutResult = (TimeoutResult)Enum.Parse(typeof(TimeoutResult),cmbTimeoutResult.SelectedItem.ToString());
|
||||
txtResult.Text = msgBox.Show(this);
|
||||
}
|
||||
|
||||
private void btnAddButton_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
MessageBoxExButton button = new MessageBoxExButton();
|
||||
button.Text = txtButtonText.Text;
|
||||
button.Value = txtButtonVal.Text;
|
||||
button.HelpText = txtButtonHelp.Text;
|
||||
button.IsCancelButton = chbIsCancel.Checked;
|
||||
|
||||
ListViewItem item = new ListViewItem();
|
||||
item.Text = button.Text;
|
||||
item.Tag = button;
|
||||
|
||||
listViewButtons.Items.Add(item);
|
||||
}
|
||||
|
||||
private void btnAddMessageBox_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
MessageBoxEx msgBox = null;
|
||||
try
|
||||
{
|
||||
msgBox = CreateMessageBox(txtName.Text);
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
MessageBox.Show(this,"Error occured while creating message box. "+ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
if(msgBox == null)
|
||||
return;
|
||||
|
||||
ListViewItem item = new ListViewItem(txtName.Text);
|
||||
item.Tag = msgBox;
|
||||
|
||||
listViewMessageBoxes.Items.Add(item);
|
||||
}
|
||||
|
||||
private void listViewMessageBoxes_ItemActivate(object sender, System.EventArgs e)
|
||||
{
|
||||
btnShowCustom.PerformClick();
|
||||
}
|
||||
|
||||
private void MessageBoxExDemoForm_Load(object sender, System.EventArgs e)
|
||||
{
|
||||
cmbTimeoutResult.SelectedIndex = 0;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
private MessageBoxExButton[] GetButtons()
|
||||
{
|
||||
ArrayList buttons = new ArrayList();
|
||||
foreach(ListViewItem item in listViewButtons.Items)
|
||||
{
|
||||
if(item.Checked)
|
||||
{
|
||||
if(item.Tag == null)
|
||||
{
|
||||
//Standard buttons
|
||||
MessageBoxExButton button = new MessageBoxExButton();
|
||||
button.Text = item.Text;
|
||||
button.Value = item.Text;
|
||||
buttons.Add(button);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Custom buttons
|
||||
MessageBoxExButton button = item.Tag as MessageBoxExButton;
|
||||
if(button != null)
|
||||
buttons.Add(button);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (MessageBoxExButton[])buttons.ToArray(typeof(MessageBoxExButton));
|
||||
}
|
||||
|
||||
private MessageBoxExIcon GetIcon()
|
||||
{
|
||||
RadioButton selIcon = null;
|
||||
foreach(Control ctrl in grpBoxIcon.Controls)
|
||||
{
|
||||
if(ctrl is RadioButton)
|
||||
{
|
||||
if( ((RadioButton)ctrl).Checked )
|
||||
{
|
||||
selIcon = ctrl as RadioButton;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (MessageBoxExIcon)Enum.Parse(typeof(MessageBoxExIcon), selIcon.Text);
|
||||
}
|
||||
|
||||
private MessageBoxEx CreateMessageBox(string name)
|
||||
{
|
||||
MessageBoxEx mbox = MessageBoxExManager.CreateMessageBox(name);
|
||||
mbox.Caption = txtCaption.Text;
|
||||
mbox.Text = txtMessage.Text;
|
||||
mbox.AllowSaveResponse = chbAllowSaveResponse.Checked;
|
||||
mbox.SaveResponseText = txtSaveResponse.Text;
|
||||
|
||||
foreach(MessageBoxExButton button in GetButtons())
|
||||
{
|
||||
mbox.AddButton(button);
|
||||
}
|
||||
|
||||
mbox.Icon = GetIcon();
|
||||
return mbox;
|
||||
}
|
||||
|
||||
#region Ignore
|
||||
private void Test()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("Test");
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
|
||||
msgBox.AddButtons(MessageBoxButtons.YesNo);
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
msgBox.SaveResponseText = "Don't ask me again";
|
||||
msgBox.AllowSaveResponse = true;
|
||||
|
||||
msgBox.Font = new Font("Tahoma",8);
|
||||
|
||||
string result = msgBox.Show();
|
||||
}
|
||||
|
||||
private void Test2()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("Test2");
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
|
||||
MessageBoxExButton btnYes = new MessageBoxExButton();
|
||||
btnYes.Text = "Yes";
|
||||
btnYes.Value = "Yes";
|
||||
btnYes.HelpText = "Save the data";
|
||||
|
||||
MessageBoxExButton btnNo = new MessageBoxExButton();
|
||||
btnNo.Text = "No";
|
||||
btnNo.Value = "No";
|
||||
btnNo.HelpText = "Do not save the data";
|
||||
|
||||
msgBox.AddButton(btnYes);
|
||||
msgBox.AddButton(btnNo);
|
||||
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
msgBox.SaveResponseText = "Don't ask me again";
|
||||
msgBox.AllowSaveResponse = true;
|
||||
|
||||
msgBox.Font = new Font("Tahoma",8);
|
||||
|
||||
string result = msgBox.Show();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test case which exposed the AutoScale bug, this was submitted by Harry Stein
|
||||
/// </summary>
|
||||
private void Test3()
|
||||
{
|
||||
// as an experiment, I moved these from class members to local members
|
||||
|
||||
// to see if it helps -- it didn't -- but it helps show you nothing else
|
||||
|
||||
// is going on!
|
||||
|
||||
MessageBoxEx m_msgBoxSummary1 = null;
|
||||
|
||||
MessageBoxExButton m_btnYes = null;
|
||||
|
||||
// Tahoma 8.25 in Ex originally
|
||||
|
||||
m_msgBoxSummary1 = MessageBoxExManager.CreateMessageBox("Summary1");
|
||||
|
||||
m_btnYes = new MessageBoxExButton();
|
||||
|
||||
string m_sPROGRAM_NAME = "Possrv.Debug Merchant Parser";
|
||||
string m_sVersion = "1.00A";;
|
||||
m_msgBoxSummary1.Caption = m_sPROGRAM_NAME + " " + m_sVersion;
|
||||
|
||||
// fyi: m_sPROGRAM_NAME = "Possrv.Debug Merchant Parser";
|
||||
|
||||
// and m_sVersion = "1.00A";
|
||||
|
||||
m_msgBoxSummary1.Icon = MessageBoxExIcon.Information;
|
||||
|
||||
m_btnYes.Text = "Okay";
|
||||
|
||||
m_btnYes.Value = "OK";
|
||||
|
||||
m_msgBoxSummary1.AddButton(m_btnYes);
|
||||
|
||||
String sResultM =
|
||||
|
||||
"Hello this is a reasonably long message with 1234 56789";
|
||||
|
||||
m_msgBoxSummary1.Font = new Font("Lucida Console", 8);
|
||||
|
||||
m_msgBoxSummary1.Text = sResultM;
|
||||
|
||||
String sResult3 = m_msgBoxSummary1.Show(); // first call
|
||||
|
||||
sResult3 = m_msgBoxSummary1.Show(); // second call
|
||||
|
||||
if(sResult3=="" || (1 + 1 == 2))return; // quiet the compiler
|
||||
}
|
||||
|
||||
private void Test4()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox(null);
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
|
||||
msgBox.AddButtons(MessageBoxButtons.YesNo);
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
//Wait for 30 seconds for the user to respond
|
||||
msgBox.Timeout = 30000;
|
||||
msgBox.TimeoutResult = TimeoutResult.Timeout;
|
||||
|
||||
string result = msgBox.Show();
|
||||
if(result == MessageBoxExResult.Timeout)
|
||||
{
|
||||
//Take action to handle the case of timeouts
|
||||
}
|
||||
}
|
||||
|
||||
public void Test5()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox(null);
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Voulez-vous sauver les données ?";
|
||||
msgBox.AddButtons(MessageBoxButtons.YesNoCancel);
|
||||
msgBox.Icon = MessageBoxExIcon.Question;
|
||||
|
||||
msgBox.Show();
|
||||
}
|
||||
|
||||
public void Test6()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("test");
|
||||
msgBox.Caption = "Information";
|
||||
msgBox.AddButtons(MessageBoxButtons.OK);
|
||||
|
||||
msgBox.Text = "The following items are defined:\nItem 1\nItem 2\nItem 3\nItem 4\nItem 5\nItem 6\nItem 7\nItem 8\nItem 9\nItem10\n";
|
||||
msgBox.Show();
|
||||
|
||||
msgBox.Text = "Items:\nItem 1\nItem 2\nItem 3\nItem 4\nItem 5\nItem 6\nItem 7\nItem 8\nItem 9\nItem10\n";
|
||||
msgBox.Show();
|
||||
}
|
||||
private void button1_Click(object sender, System.EventArgs e)
|
||||
{
|
||||
Test();
|
||||
Test2();
|
||||
Test3();
|
||||
Test4();
|
||||
Test5();
|
||||
Test6();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region Manual Test
|
||||
private void buttonTestValuesManually_Click(object sender, EventArgs e)
|
||||
{
|
||||
string result = StandardMessageBox();
|
||||
result = CustomerMessageBox();
|
||||
}
|
||||
|
||||
private string StandardMessageBox()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("Test2"); //ATTENTION: Name must be unique
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
MessageBoxExButton btnYes = new MessageBoxExButton();
|
||||
btnYes.Text = "Yes";
|
||||
btnYes.Value = "Yes";
|
||||
btnYes.HelpText = "Save the data";
|
||||
MessageBoxExButton btnNo = new MessageBoxExButton();
|
||||
btnNo.Text = "No";
|
||||
btnNo.Value = "No";
|
||||
btnNo.HelpText = "Do not save the data";
|
||||
msgBox.AddButton(btnYes);
|
||||
msgBox.AddButton(btnNo);
|
||||
//Use a standard icon
|
||||
msgBox.Icon = MessageBoxExIcon.Asterisk;
|
||||
msgBox.SaveResponseText = "Don't ask me again";
|
||||
msgBox.AllowSaveResponse = true;
|
||||
msgBox.UseSavedResponse = false;
|
||||
msgBox.Timeout = 0;
|
||||
msgBox.TimeoutResult = default;
|
||||
msgBox.Font = new Font("Tahoma", 8);
|
||||
return msgBox.Show(); //Returns the result
|
||||
}
|
||||
|
||||
private string CustomerMessageBox()
|
||||
{
|
||||
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("Test3"); //ATTENTION: Name must be unique
|
||||
msgBox.Caption = "Question";
|
||||
msgBox.Text = "Do you want to save the data?";
|
||||
MessageBoxExButton btnYes = new MessageBoxExButton();
|
||||
btnYes.Text = "Yes";
|
||||
btnYes.Value = "Yes";
|
||||
btnYes.HelpText = "Save the data";
|
||||
MessageBoxExButton btnNo = new MessageBoxExButton();
|
||||
btnNo.Text = "No";
|
||||
btnNo.Value = "No";
|
||||
btnNo.HelpText = "Do not save the data";
|
||||
msgBox.AddButton(btnYes);
|
||||
msgBox.AddButton(btnNo);
|
||||
//Use a customer icon
|
||||
using (var bmp = Bitmap.FromFile(@"H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\Icons\Customer\Icons\Telephone.ico") as Bitmap)
|
||||
Icon = Icon.FromHandle(bmp.GetHicon());
|
||||
msgBox.CustomIcon = Icon;
|
||||
msgBox.SaveResponseText = "Don't ask me again";
|
||||
msgBox.AllowSaveResponse = true;
|
||||
msgBox.UseSavedResponse = false;
|
||||
msgBox.Timeout = 0;
|
||||
msgBox.TimeoutResult = default;
|
||||
msgBox.Font = new Font("Tahoma", 8);
|
||||
return msgBox.Show(); //Returns the result
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,301 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="pictureBoxQuestion.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
/3LA6N8D9eMTPOW8/wAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBoxHand.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBoxExclamation.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
XUWkEIU5ZQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBoxAsterix.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAAd0SU1FB9oDGgUnLgetJYMAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAu
|
||||
OWwzfk4AAApgSURBVFhHrVcJUJNnGqbaVoOgIEauBCEcIUAIBDkENCCnoCiHWsAbtqhchhASQg4QEDGg
|
||||
FS9EUBSrWMSutbpSj229Wyi11S3YWm2tPbSd2dm2s21dZp99v5AOK65jp7PPzDd/+Mn/P+/1Pd8Ti98P
|
||||
te2YMdqssWO1rWPH6vpeeEH3PcfSMMQW+8zu0dozZkxFJvuu+aH/B7RCIt3L4eh/sXfWwt2nHL7TVRCH
|
||||
KeAbWgKfEFrBCngFqsD3Koedgxbjxut+ZoHSs57ml/wRGCwpo4YJVvpHAqEG0vBSSCOVCIxUQxKpgX+k
|
||||
Fn4RWviEayEM1cAjWA1BkBLuUgU8aDm6loNjqX9EgRgtLOQc80t/L7Sezz+vu8Fz1WE6kYbIVAiJ1iE0
|
||||
dj3C4uoQFr8JofENCI5vhDS2AZJoI3xn1cErvBpuwTrwqBouAQq40bJz1ILe9RG1xcP88mdBEzBunO47
|
||||
H4kGoTIlZsRoEZlQC1lyA6JSmhA9fyeiU1sgW9AKaXwr/GNaEZLUgqDEXfS5Cd6zGiCYsQG8IB3sxUrw
|
||||
JSVwdFfjhRf1DykxiZnkadB6jhun/04sVWNGtAoz4ysRnbwJcQu2ISGjBXMWtyMp6yBiMg5Bs/FdfHH/
|
||||
J3zz8J94pfUGgpIOImReOwISWiCK3gZBuBHOQesxxU8FR78SOHmpKAjdA2qtwEw2GgZLKtVNljkjn5VQ
|
||||
hdiURiRm7MLczHYsWHYYaSu7kZF7HAXaSxiNmqYPIFvcjbDUwwhIaof37Ga4RmyGQ1A1bH1VmOorh4NA
|
||||
jbGmdvyPmWADx6eeh1HZZyVUmsiTFjZjwZIDyFjVhZfy3kB2/mksKTyLju7bZtoRXHrvAaKzTiEq6w2E
|
||||
pXVBktQBr9m7wZ+xBdyA9ZjoXUaVkMOWdslzz7HBfAxa4QQrw6NgGrjIWB1i5m0i8l0m8kU5R7Fk7Ums
|
||||
WHcOucoLeFl9FTv2D5ppR3D8rXtIWf0OEnPOQpZ9EsFp3fCb0wGBrBmOIQ2wFRtgLVSA76fAeEv9LxYW
|
||||
Fe5mcpa9dq+7twZhUWrI5tQiIW0b5me1E3kXluSfQk7JeaxWX0ahvhfrqq9jWck1fPHVT2Zq4B8/PMLS
|
||||
kqvIVvYitfAyEnLOI5KqETj/KIRx+8GP2IEp0o2Y6KOBnUgOrks5qOJtZnq1LROZoIhShMfqKftGJC/a
|
||||
g/QVnchefQKr5OewpvwKiivfh7LuBjSNg9Bt/RS5mn4YWwawuW0QK1R9KNgwgFzDDWSWvY+UgsuYvfIc
|
||||
QhedgG9yJ1yjWmEfsgU2/usxwYuqIFbgxXH6H2nurCyYvDqQwgVGUPkTqhGXug0pWfuxKPcYlhf2IK/s
|
||||
IooNfSjbeAO6V26heucd1LXew6b2+6ZVt+8+qlruQd10B0X1t7DKcBMLFX1IzLuIiOweSOa/DvfYA3AO
|
||||
3wm7wI2w9i7HVGExbKZWwCTbTDI9SF59glWYHlWHhHQavKWHkElDt0p+HmsrrkFR+yG0mwdRs+sOjPu+
|
||||
RNOhb7Cz6wF2dT/Adro20t/VbV9C1XQXazYMIlvzIeYVXoNsxXlI00/AK/Ew+DP3gDu9ERPdVJjEWwN7
|
||||
N9oRdHaw6e/zI233CiqHOGIjZibtRuryI8haewq5pe+Y+q6qv4nKbbeRV/EBNu0eQMOeQSr9LWzeS4uu
|
||||
xtZbyNP2QU+VKG68jRWGvyFV3ofZuRcQvPgvECV3URv20lash7WzEpb2q8ETlbEA+izYSSYOZfpdQdpu
|
||||
RHDsbsSkd1IAp/GnsksoquxHufFjU+nX6K9j32uf4cH3P5vHbwQdx+6gpv0rlG69i5z1A0gv7Ufsy5cQ
|
||||
ktkD37ndcAnahSketZjIU4HDXU27oQSM24IOjCFfOtHcAyvgS+oVFNOCyHmdSMw8ieXyiyiqogAaBlDd
|
||||
fBebO77C7mMP0UgZj0bH6zQbHV9Duf1z5NYMIkN5HbF5lxG68DSE4R3g+28H17MOk/hqcKauAc9nHQ2i
|
||||
bogCMAyJguVwk1RAFGZEIIlHePJhxCw8gXnLz2N5SS+U9QOo2nkXjQeGA6hrflIHWAC1B75GadPnyKke
|
||||
RFpJP2QvnUNATDc8Q2krjgrA2RSA/l+mFojoPHcRl8MrpB5iEo6QxFchSzuOOUvOIv3lK1gm/wDy2luo
|
||||
2X0PTUe+RfWOATPtCFgLKtvuo7D+U2TS9+My38aMuafgH90Fz5B28MTbHm+Br6kF35mGkJkJHh0agqAN
|
||||
8CHRkNK2CU85hpjFPZi38iIW5/diZdlHKKgchLrhM2iMN820I9h/9DPkGz5GdnE/PXMFUQvPIWTOCfjJ
|
||||
jsB9ehucfbfCzr169BD2sgD2uJCT4fsp4SJZT+V6BWKa2OA5r2Fm2knEZ5/H/NwryCx8H6tUN4hkEIqa
|
||||
D820I2h/7TaWKa4jLe9deuYCIhf0QBr3Z4giXoWrtAUOokZMdquElZP88W3IxIDZKFd/BZx86RpkpKFp
|
||||
hiSGjtfk1yFLP42EJW9TEFexuKCfSD5CoaHfTDuCvUduE/l7SFx6iZ45Sx7hTUqkCx6h7dT/HZjqtRE2
|
||||
LhWwdCgE170ANlwmRNqXTFLMPJxHoIIUqgzO4hpyNVvhHdkGSWwnQuYex8z0HsRlvY1kKm0qkazW9Jpp
|
||||
R9DW+SllfhGyDJJg6r0k5hi8w4ezd/TZAjsBlZ+npAEc7j8N4A8mKWZgaujoVg4nHwrCWwtnST0FsQPC
|
||||
yHZyOUcwPek4whechmzROcRmXUCO8pqZdgSthz9BROoZqtpJE7ko8hAErPc0fFyW/TQtJjgUYbJr/m+H
|
||||
0R4T+TC0nsxAukkUmOxRCq53JZz8G+AavBOe4e3wieqEJP4YBfImQlNOY9m6Jw0JC0Ca8AbE0UfhHcHI
|
||||
94LHSi80wpb13llhGj6W/Xg6/J5wRsy9MgPJI4WyEZRhirAKDuIG8KU74BbaBs+IgxDRRPvN7sbS4gtm
|
||||
2hHsO/IJRDM74RHWQXPUSplvp2oaMVlQRaUvA8c+Hw7Cot8MSb2Z9r8h5zD36uShhr1QDmvXMth6VoIr
|
||||
2gQH/61wljbDhbJyCT6Aqi1PDuHV/ofkhveBF0AGhLYcV1hPmRM5n/a9fQGmCAqGLdlY3XXKfryZdDTU
|
||||
Hsy9OpOB5HrJMcGlFNYCHWw8a2FH2fhFH8Rfr3yDoaF/m2kfx8ef/B2Za8/AjgTHxlUPKzZ0DkROU+/k
|
||||
aTKl35ITcjOTPQ1aCXOvLFoHbzks+SwQFazd9NSO7XREv4VVJWfIJbF11rzODN+X9yCUbJg1ye0E2u+W
|
||||
jmtNZbendw2TG/zNJM9ChTtzr6xfPPJwk93XgcNbR8EoYTWtnNqjpXNdj0luBlp6TCQzaz1NAyt+GSyJ
|
||||
mOOYT6JTQAOnMPV8uOzPzHw05BzmXsdb6n5l24YFwvUqJrJiWDoXgeNUTIsCY1fHIiIuwCSXAnA9ikzE
|
||||
7JnxHN2vwwP31J7/HlA1yEAyD8dsFJNQpuPM3TqT12eLfWb32P+YwtEx++PwPn/qj5A/AoMVk232Ylqm
|
||||
n+cU1BA7UtmpRvd62f+G5dWscM+EhcV/ABQ+MjIwFZTbAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
63
Daten/MessageBoxExDemo/MessageBoxExDemo/Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,63 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Dieser Code wurde von einem Tool generiert.
|
||||
// Laufzeitversion:4.0.30319.42000
|
||||
//
|
||||
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
// der Code erneut generiert wird.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace MessageBoxExDemo.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
/// </summary>
|
||||
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
|
||||
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
|
||||
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
|
||||
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MessageBoxExDemo.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
|
||||
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
|
||||
@ -0,0 +1 @@
|
||||
1dcf4d3d01a45986e56aa5fbf9b81fd62a2d7718
|
||||
@ -0,0 +1,14 @@
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\bin\Debug\MessageBoxExDemo.exe
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\bin\Debug\MessageBoxExDemo.pdb
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\bin\Debug\MessageBoxExLib.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\bin\Debug\MessageBoxExLib.pdb
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\bin\Debug\de\MessageBoxExLib.resources.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\bin\Debug\fr\MessageBoxExLib.resources.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.csprojAssemblyReference.cache
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.MessageBoxExDemoForm.resources
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.csproj.GenerateResource.cache
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.csproj.CoreCompileInputs.cache
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.csproj.CopyComplete
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.exe
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.pdb
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExDemo\obj\Debug\MessageBoxExDemo.Properties.Resources.resources
|
||||
58
Daten/MessageBoxExDemo/MessageBoxExLib/AssemblyInfo.cs
Normal file
@ -0,0 +1,58 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
//
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
//
|
||||
[assembly: AssemblyTitle("")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
//
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
|
||||
[assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
//
|
||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||
//
|
||||
// Use the attributes below to control which key is used for signing.
|
||||
//
|
||||
// Notes:
|
||||
// (*) If no key is specified, the assembly is not signed.
|
||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||
// a key.
|
||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||
// following processing occurs:
|
||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||
// in the KeyFile is installed into the CSP and used.
|
||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||
// When specifying the KeyFile, the location of the KeyFile should be
|
||||
// relative to the project output directory which is
|
||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||
// located in the project directory, you would specify the AssemblyKeyFile
|
||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||
// documentation for more information on this.
|
||||
//
|
||||
[assembly: AssemblyDelaySign(false)]
|
||||
[assembly: AssemblyKeyFile("")]
|
||||
[assembly: AssemblyKeyName("")]
|
||||
294
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxEx.cs
Normal file
@ -0,0 +1,294 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// An extended MessageBox with lot of customizing capabilities.
|
||||
/// </summary>
|
||||
public class MessageBoxEx
|
||||
{
|
||||
#region Fields
|
||||
private MessageBoxExForm _msgBox = new MessageBoxExForm();
|
||||
|
||||
private bool _useSavedResponse = true;
|
||||
private string _name = null;
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
internal string Name
|
||||
{
|
||||
get{ return _name; }
|
||||
set{ _name = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the caption of the message box
|
||||
/// </summary>
|
||||
public string Caption
|
||||
{
|
||||
set{_msgBox.Caption = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the text of the message box
|
||||
/// </summary>
|
||||
public string Text
|
||||
{
|
||||
set{_msgBox.Message = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the icon to show in the message box
|
||||
/// </summary>
|
||||
public Icon CustomIcon
|
||||
{
|
||||
set{_msgBox.CustomIcon = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the icon to show in the message box
|
||||
/// </summary>
|
||||
public MessageBoxExIcon Icon
|
||||
{
|
||||
set{ _msgBox.StandardIcon = (MessageBoxIcon)Enum.Parse(typeof(MessageBoxIcon), value.ToString());}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the font for the text of the message box
|
||||
/// </summary>
|
||||
public Font Font
|
||||
{
|
||||
set{_msgBox.Font = value;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets the ability of the user to save his/her response
|
||||
/// </summary>
|
||||
public bool AllowSaveResponse
|
||||
{
|
||||
get{ return _msgBox.AllowSaveResponse; }
|
||||
set{ _msgBox.AllowSaveResponse = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the text to show to the user when saving his/her response
|
||||
/// </summary>
|
||||
public string SaveResponseText
|
||||
{
|
||||
set{_msgBox.SaveResponseText = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets wether the saved response if available should be used
|
||||
/// </summary>
|
||||
public bool UseSavedResponse
|
||||
{
|
||||
get{ return _useSavedResponse; }
|
||||
set{ _useSavedResponse = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets wether an alert sound is played while showing the message box.
|
||||
/// The sound played depends on the the Icon selected for the message box
|
||||
/// </summary>
|
||||
public bool PlayAlsertSound
|
||||
{
|
||||
get{ return _msgBox.PlayAlertSound; }
|
||||
set{ _msgBox.PlayAlertSound = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets or Gets the time in milliseconds for which the message box is displayed.
|
||||
/// </summary>
|
||||
public int Timeout
|
||||
{
|
||||
get{ return _msgBox.Timeout; }
|
||||
set{ _msgBox.Timeout = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Controls the result that will be returned when the message box times out.
|
||||
/// </summary>
|
||||
public TimeoutResult TimeoutResult
|
||||
{
|
||||
get{ return _msgBox.TimeoutResult; }
|
||||
set{ _msgBox.TimeoutResult = value; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
/// <summary>
|
||||
/// Shows the message box
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string Show()
|
||||
{
|
||||
return Show(null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shows the messsage box with the specified owner
|
||||
/// </summary>
|
||||
/// <param name="owner"></param>
|
||||
/// <returns></returns>
|
||||
public string Show(IWin32Window owner)
|
||||
{
|
||||
if(_useSavedResponse && this.Name != null)
|
||||
{
|
||||
string savedResponse = MessageBoxExManager.GetSavedResponse(this);
|
||||
if( savedResponse != null)
|
||||
return savedResponse;
|
||||
}
|
||||
|
||||
if(owner == null)
|
||||
{
|
||||
_msgBox.ShowDialog();
|
||||
}
|
||||
else
|
||||
{
|
||||
_msgBox.ShowDialog(owner);
|
||||
}
|
||||
|
||||
if(this.Name != null)
|
||||
{
|
||||
if(_msgBox.AllowSaveResponse && _msgBox.SaveResponse)
|
||||
MessageBoxExManager.SetSavedResponse(this, _msgBox.Result);
|
||||
else
|
||||
MessageBoxExManager.ResetSavedResponse(this.Name);
|
||||
}
|
||||
else
|
||||
{
|
||||
Dispose();
|
||||
}
|
||||
|
||||
return _msgBox.Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a custom button to the message box
|
||||
/// </summary>
|
||||
/// <param name="button">The button to add</param>
|
||||
public void AddButton(MessageBoxExButton button)
|
||||
{
|
||||
if(button == null)
|
||||
throw new ArgumentNullException("button","A null button cannot be added");
|
||||
|
||||
_msgBox.Buttons.Add(button);
|
||||
|
||||
if(button.IsCancelButton)
|
||||
{
|
||||
_msgBox.CustomCancelButton = button;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a custom button to the message box
|
||||
/// </summary>
|
||||
/// <param name="text">The text of the button</param>
|
||||
/// <param name="val">The return value in case this button is clicked</param>
|
||||
public void AddButton(string text, string val)
|
||||
{
|
||||
if(text == null)
|
||||
throw new ArgumentNullException("text","Text of a button cannot be null");
|
||||
|
||||
if(val == null)
|
||||
throw new ArgumentNullException("val","Value of a button cannot be null");
|
||||
|
||||
MessageBoxExButton button = new MessageBoxExButton();
|
||||
button.Text = text;
|
||||
button.Value = val;
|
||||
|
||||
AddButton(button);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add a standard button to the message box
|
||||
/// </summary>
|
||||
/// <param name="buttons">The standard button to add</param>
|
||||
public void AddButton(MessageBoxExButtons button)
|
||||
{
|
||||
string buttonText = MessageBoxExManager.GetLocalizedString(button.ToString());
|
||||
if(buttonText == null)
|
||||
{
|
||||
buttonText = button.ToString();
|
||||
}
|
||||
|
||||
string buttonVal = button.ToString();
|
||||
|
||||
MessageBoxExButton btn = new MessageBoxExButton();
|
||||
btn.Text = buttonText;
|
||||
btn.Value = buttonVal;
|
||||
|
||||
if(button == MessageBoxExButtons.Cancel)
|
||||
{
|
||||
btn.IsCancelButton = true;
|
||||
}
|
||||
|
||||
AddButton(btn);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add standard buttons to the message box.
|
||||
/// </summary>
|
||||
/// <param name="buttons">The standard buttons to add</param>
|
||||
public void AddButtons(MessageBoxButtons buttons)
|
||||
{
|
||||
switch(buttons)
|
||||
{
|
||||
case MessageBoxButtons.OK:
|
||||
AddButton(MessageBoxExButtons.Ok);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.AbortRetryIgnore:
|
||||
AddButton(MessageBoxExButtons.Abort);
|
||||
AddButton(MessageBoxExButtons.Retry);
|
||||
AddButton(MessageBoxExButtons.Ignore);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.OKCancel:
|
||||
AddButton(MessageBoxExButtons.Ok);
|
||||
AddButton(MessageBoxExButtons.Cancel);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.RetryCancel:
|
||||
AddButton(MessageBoxExButtons.Retry);
|
||||
AddButton(MessageBoxExButtons.Cancel);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.YesNo:
|
||||
AddButton(MessageBoxExButtons.Yes);
|
||||
AddButton(MessageBoxExButtons.No);
|
||||
break;
|
||||
|
||||
case MessageBoxButtons.YesNoCancel:
|
||||
AddButton(MessageBoxExButtons.Yes);
|
||||
AddButton(MessageBoxExButtons.No);
|
||||
AddButton(MessageBoxExButtons.Cancel);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Ctor
|
||||
/// <summary>
|
||||
/// Ctor is internal because this can only be created by MBManager
|
||||
/// </summary>
|
||||
internal MessageBoxEx()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called by the manager when it is disposed
|
||||
/// </summary>
|
||||
internal void Dispose()
|
||||
{
|
||||
if(_msgBox != null)
|
||||
{
|
||||
_msgBox.Dispose();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
52
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxExButton.cs
Normal file
@ -0,0 +1,52 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Internal DataStructure used to represent a button
|
||||
/// </summary>
|
||||
public class MessageBoxExButton
|
||||
{
|
||||
private string _text = null;
|
||||
/// <summary>
|
||||
/// Gets or Sets the text of the button
|
||||
/// </summary>
|
||||
public string Text
|
||||
{
|
||||
get{ return _text; }
|
||||
set{ _text = value; }
|
||||
}
|
||||
|
||||
private string _value = null;
|
||||
/// <summary>
|
||||
/// Gets or Sets the return value when this button is clicked
|
||||
/// </summary>
|
||||
public string Value
|
||||
{
|
||||
get{ return _value; }
|
||||
set{_value = value; }
|
||||
}
|
||||
|
||||
private string _helpText = null;
|
||||
/// <summary>
|
||||
/// Gets or Sets the tooltip that is displayed for this button
|
||||
/// </summary>
|
||||
public string HelpText
|
||||
{
|
||||
get{ return _helpText; }
|
||||
set{ _helpText = value; }
|
||||
}
|
||||
|
||||
private bool _isCancelButton = false;
|
||||
/// <summary>
|
||||
/// Gets or Sets wether this button is a cancel button. i.e. the button
|
||||
/// that will be assumed to have been clicked if the user closes the message box
|
||||
/// without pressing any button.
|
||||
/// </summary>
|
||||
public bool IsCancelButton
|
||||
{
|
||||
get{ return _isCancelButton; }
|
||||
set{ _isCancelButton = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Standard MessageBoxEx buttons
|
||||
/// </summary>
|
||||
public enum MessageBoxExButtons
|
||||
{
|
||||
Ok = 0,
|
||||
Cancel = 1,
|
||||
Yes = 2,
|
||||
No = 4,
|
||||
Abort = 8,
|
||||
Retry = 16,
|
||||
Ignore = 32
|
||||
}
|
||||
}
|
||||
937
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxExForm.cs
Normal file
@ -0,0 +1,937 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// An advanced MessageBox that supports customizations like Font, Icon,
|
||||
/// Buttons and Saved Responses
|
||||
/// </summary>
|
||||
internal class MessageBoxExForm : System.Windows.Forms.Form
|
||||
{
|
||||
#region Constants
|
||||
private const int LEFT_PADDING = 12;
|
||||
private const int RIGHT_PADDING = 12;
|
||||
private const int TOP_PADDING = 12;
|
||||
private const int BOTTOM_PADDING = 12;
|
||||
|
||||
private const int BUTTON_LEFT_PADDING = 4;
|
||||
private const int BUTTON_RIGHT_PADDING = 4;
|
||||
private const int BUTTON_TOP_PADDING = 4;
|
||||
private const int BUTTON_BOTTOM_PADDING = 4;
|
||||
|
||||
private const int MIN_BUTTON_HEIGHT = 23;
|
||||
private const int MIN_BUTTON_WIDTH = 74;
|
||||
|
||||
private const int ITEM_PADDING = 10;
|
||||
private const int ICON_MESSAGE_PADDING = 15;
|
||||
|
||||
private const int BUTTON_PADDING = 5;
|
||||
|
||||
private const int CHECKBOX_WIDTH = 20;
|
||||
|
||||
private const int IMAGE_INDEX_EXCLAMATION = 0;
|
||||
private const int IMAGE_INDEX_QUESTION = 1;
|
||||
private const int IMAGE_INDEX_STOP = 2;
|
||||
private const int IMAGE_INDEX_INFORMATION = 3;
|
||||
#endregion
|
||||
|
||||
#region Fields
|
||||
|
||||
private System.ComponentModel.IContainer components;
|
||||
private System.Windows.Forms.CheckBox chbSaveResponse;
|
||||
private System.Windows.Forms.ImageList imageListIcons;
|
||||
private System.Windows.Forms.ToolTip buttonToolTip;
|
||||
|
||||
private ArrayList _buttons = new ArrayList();
|
||||
private bool _allowSaveResponse;
|
||||
private bool _playAlert = true;
|
||||
private MessageBoxExButton _cancelButton = null;
|
||||
private Button _defaultButtonControl = null;
|
||||
|
||||
private int _maxLayoutWidth;
|
||||
private int _maxLayoutHeight;
|
||||
|
||||
private int _maxWidth;
|
||||
private int _maxHeight;
|
||||
|
||||
private bool _allowCancel = true;
|
||||
private string _result = null;
|
||||
|
||||
/// <summary>
|
||||
/// Used to determine the alert sound to play
|
||||
/// </summary>
|
||||
private MessageBoxIcon _standardIcon = MessageBoxIcon.None;
|
||||
private Icon _iconImage = null;
|
||||
|
||||
private Timer timerTimeout = null;
|
||||
private int _timeout = 0;
|
||||
private TimeoutResult _timeoutResult = TimeoutResult.Default;
|
||||
private System.Windows.Forms.Panel panelIcon;
|
||||
private System.Windows.Forms.RichTextBox rtbMessage;
|
||||
|
||||
/// <summary>
|
||||
/// Maps MessageBoxEx buttons to Button controls
|
||||
/// </summary>
|
||||
private Hashtable _buttonControlsTable = new Hashtable();
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
public string Message
|
||||
{
|
||||
set{ rtbMessage.Text = value; }
|
||||
}
|
||||
|
||||
public string Caption
|
||||
{
|
||||
set{ this.Text = value; }
|
||||
}
|
||||
|
||||
public Font CustomFont
|
||||
{
|
||||
set{ this.Font = value; }
|
||||
}
|
||||
|
||||
public ArrayList Buttons
|
||||
{
|
||||
get{ return _buttons; }
|
||||
}
|
||||
|
||||
public bool AllowSaveResponse
|
||||
{
|
||||
get{ return _allowSaveResponse; }
|
||||
set{ _allowSaveResponse = value; }
|
||||
}
|
||||
|
||||
public bool SaveResponse
|
||||
{
|
||||
get{ return chbSaveResponse.Checked; }
|
||||
}
|
||||
|
||||
public string SaveResponseText
|
||||
{
|
||||
set{ chbSaveResponse.Text = value; }
|
||||
}
|
||||
|
||||
public MessageBoxIcon StandardIcon
|
||||
{
|
||||
set{ SetStandardIcon(value); }
|
||||
}
|
||||
|
||||
public Icon CustomIcon
|
||||
{
|
||||
set
|
||||
{
|
||||
_standardIcon = MessageBoxIcon.None;
|
||||
_iconImage = value;
|
||||
}
|
||||
}
|
||||
|
||||
public MessageBoxExButton CustomCancelButton
|
||||
{
|
||||
set{ _cancelButton = value; }
|
||||
}
|
||||
|
||||
public string Result
|
||||
{
|
||||
get{ return _result; }
|
||||
}
|
||||
|
||||
public bool PlayAlertSound
|
||||
{
|
||||
get{ return _playAlert; }
|
||||
set{ _playAlert = value; }
|
||||
}
|
||||
|
||||
public int Timeout
|
||||
{
|
||||
get{ return _timeout; }
|
||||
set{ _timeout = value; }
|
||||
}
|
||||
|
||||
public TimeoutResult TimeoutResult
|
||||
{
|
||||
get{ return _timeoutResult; }
|
||||
set{ _timeoutResult = value; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Ctor/Dtor
|
||||
public MessageBoxExForm()
|
||||
{
|
||||
//
|
||||
// Required for Windows Form Designer support
|
||||
//
|
||||
InitializeComponent();
|
||||
|
||||
_maxWidth = (int)(SystemInformation.WorkingArea.Width * 0.60);
|
||||
_maxHeight = (int)(SystemInformation.WorkingArea.Height * 0.90);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
protected override void Dispose( bool disposing )
|
||||
{
|
||||
if( disposing )
|
||||
{
|
||||
if(components != null)
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
}
|
||||
base.Dispose( disposing );
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MessageBoxExForm));
|
||||
this.panelIcon = new System.Windows.Forms.Panel();
|
||||
this.chbSaveResponse = new System.Windows.Forms.CheckBox();
|
||||
this.imageListIcons = new System.Windows.Forms.ImageList(this.components);
|
||||
this.buttonToolTip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.rtbMessage = new System.Windows.Forms.RichTextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panelIcon
|
||||
//
|
||||
this.panelIcon.BackColor = System.Drawing.Color.Transparent;
|
||||
this.panelIcon.Location = new System.Drawing.Point(8, 8);
|
||||
this.panelIcon.Name = "panelIcon";
|
||||
this.panelIcon.Size = new System.Drawing.Size(32, 32);
|
||||
this.panelIcon.TabIndex = 3;
|
||||
this.panelIcon.Visible = false;
|
||||
//
|
||||
// chbSaveResponse
|
||||
//
|
||||
this.chbSaveResponse.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.chbSaveResponse.Location = new System.Drawing.Point(56, 56);
|
||||
this.chbSaveResponse.Name = "chbSaveResponse";
|
||||
this.chbSaveResponse.Size = new System.Drawing.Size(104, 16);
|
||||
this.chbSaveResponse.TabIndex = 0;
|
||||
//
|
||||
// imageListIcons
|
||||
//
|
||||
this.imageListIcons.ColorDepth = System.Windows.Forms.ColorDepth.Depth16Bit;
|
||||
this.imageListIcons.ImageSize = new System.Drawing.Size(32, 32);
|
||||
this.imageListIcons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListIcons.ImageStream")));
|
||||
this.imageListIcons.TransparentColor = System.Drawing.Color.Transparent;
|
||||
//
|
||||
// rtbMessage
|
||||
//
|
||||
this.rtbMessage.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.rtbMessage.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.rtbMessage.Location = new System.Drawing.Point(200, 8);
|
||||
this.rtbMessage.Name = "rtbMessage";
|
||||
this.rtbMessage.ReadOnly = true;
|
||||
this.rtbMessage.Size = new System.Drawing.Size(100, 48);
|
||||
this.rtbMessage.TabIndex = 4;
|
||||
this.rtbMessage.Text = "";
|
||||
this.rtbMessage.Visible = false;
|
||||
//
|
||||
// MessageBoxExForm
|
||||
//
|
||||
this.AutoScale = false;
|
||||
this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
|
||||
this.ClientSize = new System.Drawing.Size(322, 224);
|
||||
this.Controls.Add(this.rtbMessage);
|
||||
this.Controls.Add(this.chbSaveResponse);
|
||||
this.Controls.Add(this.panelIcon);
|
||||
this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "MessageBoxExForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Overrides
|
||||
/// <summary>
|
||||
/// This will get called everytime we call ShowDialog on the form
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
//Reset result
|
||||
_result = null;
|
||||
|
||||
this.Size = new Size(_maxWidth, _maxHeight);
|
||||
|
||||
//This is the rectangle in which all items will be layed out
|
||||
_maxLayoutWidth = this.ClientSize.Width - LEFT_PADDING - RIGHT_PADDING;
|
||||
_maxLayoutHeight = this.ClientSize.Height - TOP_PADDING - BOTTOM_PADDING;
|
||||
|
||||
AddOkButtonIfNoButtonsPresent();
|
||||
DisableCloseIfMultipleButtonsAndNoCancelButton();
|
||||
|
||||
SetIconSizeAndVisibility();
|
||||
SetMessageSizeAndVisibility();
|
||||
SetCheckboxSizeAndVisibility();
|
||||
|
||||
SetOptimumSize();
|
||||
|
||||
LayoutControls();
|
||||
|
||||
CenterForm();
|
||||
|
||||
PlayAlert();
|
||||
|
||||
SelectDefaultButton();
|
||||
|
||||
StartTimerIfTimeoutGreaterThanZero();
|
||||
|
||||
base.OnLoad (e);
|
||||
}
|
||||
|
||||
|
||||
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
|
||||
{
|
||||
if((int)keyData == (int)(Keys.Alt | Keys.F4) && !_allowCancel)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return base.ProcessCmdKey(ref msg, keyData);
|
||||
}
|
||||
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
{
|
||||
if(_result == null)
|
||||
{
|
||||
if(_allowCancel)
|
||||
{
|
||||
_result = _cancelButton.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(timerTimeout != null)
|
||||
{
|
||||
timerTimeout.Stop();
|
||||
}
|
||||
|
||||
base.OnClosing (e);
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint (e);
|
||||
|
||||
if(_iconImage != null)
|
||||
{
|
||||
e.Graphics.DrawIcon(_iconImage, new Rectangle(panelIcon.Location, new Size(32, 32)));
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
/// <summary>
|
||||
/// Measures a string using the Graphics object for this form with
|
||||
/// the specified font
|
||||
/// </summary>
|
||||
/// <param name="str">The string to measure</param>
|
||||
/// <param name="maxWidth">The maximum width available to display the string</param>
|
||||
/// <param name="font">The font with which to measure the string</param>
|
||||
/// <returns></returns>
|
||||
private Size MeasureString(string str, int maxWidth, Font font)
|
||||
{
|
||||
Graphics g = this.CreateGraphics();
|
||||
SizeF strRectSizeF = g.MeasureString(str, font, maxWidth);
|
||||
g.Dispose();
|
||||
|
||||
return new Size((int)Math.Ceiling(strRectSizeF.Width), (int)Math.Ceiling(strRectSizeF.Height));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Measures a string using the Graphics object for this form and the
|
||||
/// font of this form
|
||||
/// </summary>
|
||||
/// <param name="str"></param>
|
||||
/// <param name="maxWidth"></param>
|
||||
/// <returns></returns>
|
||||
private Size MeasureString(string str, int maxWidth)
|
||||
{
|
||||
return MeasureString(str, maxWidth, this.Font);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the longest button text
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private string GetLongestButtonText()
|
||||
{
|
||||
int maxLen = 0;
|
||||
string maxStr = null;
|
||||
foreach(MessageBoxExButton button in _buttons)
|
||||
{
|
||||
if(button.Text != null && button.Text.Length > maxLen)
|
||||
{
|
||||
maxLen = button.Text.Length;
|
||||
maxStr = button.Text;
|
||||
}
|
||||
}
|
||||
|
||||
return maxStr;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the size and visibility of the Message
|
||||
/// </summary>
|
||||
private void SetMessageSizeAndVisibility()
|
||||
{
|
||||
if(rtbMessage.Text == null || rtbMessage.Text.Trim().Length == 0)
|
||||
{
|
||||
rtbMessage.Size = Size.Empty;
|
||||
rtbMessage.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
int maxWidth = _maxLayoutWidth;
|
||||
if(panelIcon.Size.Width != 0)
|
||||
{
|
||||
maxWidth = maxWidth - (panelIcon.Size.Width + ICON_MESSAGE_PADDING);
|
||||
}
|
||||
|
||||
//We need to account for scroll bar width and height, otherwise for certains
|
||||
//kinds of text the scroll bar shows up unnecessarily
|
||||
maxWidth = maxWidth - SystemInformation.VerticalScrollBarWidth;
|
||||
Size messageRectSize = MeasureString(rtbMessage.Text, maxWidth);
|
||||
|
||||
messageRectSize.Width += SystemInformation.VerticalScrollBarWidth;
|
||||
messageRectSize.Height = Math.Max(panelIcon.Height, messageRectSize.Height) + SystemInformation.HorizontalScrollBarHeight;
|
||||
|
||||
rtbMessage.Size = messageRectSize;
|
||||
rtbMessage.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the size and visibility of the Icon
|
||||
/// </summary>
|
||||
private void SetIconSizeAndVisibility()
|
||||
{
|
||||
if(_iconImage == null)
|
||||
{
|
||||
panelIcon.Visible = false;
|
||||
panelIcon.Size = Size.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
panelIcon.Size = new Size(32,32);
|
||||
panelIcon.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the size and visibility of the save response checkbox
|
||||
/// </summary>
|
||||
private void SetCheckboxSizeAndVisibility()
|
||||
{
|
||||
if(!AllowSaveResponse)
|
||||
{
|
||||
chbSaveResponse.Visible = false;
|
||||
chbSaveResponse.Size = Size.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
Size saveResponseTextSize = MeasureString(chbSaveResponse.Text, _maxLayoutWidth);
|
||||
saveResponseTextSize.Width += CHECKBOX_WIDTH;
|
||||
chbSaveResponse.Size = saveResponseTextSize;
|
||||
chbSaveResponse.Visible= true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calculates the button size based on the text of the longest
|
||||
/// button text
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private Size GetButtonSize()
|
||||
{
|
||||
string longestButtonText = GetLongestButtonText();
|
||||
if(longestButtonText == null)
|
||||
{
|
||||
//TODO:Handle this case
|
||||
}
|
||||
|
||||
Size buttonTextSize = MeasureString(longestButtonText, _maxLayoutWidth);
|
||||
Size buttonSize = new Size(buttonTextSize.Width + BUTTON_LEFT_PADDING + BUTTON_RIGHT_PADDING,
|
||||
buttonTextSize.Height + BUTTON_TOP_PADDING + BUTTON_BOTTOM_PADDING);
|
||||
|
||||
if(buttonSize.Width < MIN_BUTTON_WIDTH)
|
||||
buttonSize.Width = MIN_BUTTON_WIDTH;
|
||||
if(buttonSize.Height < MIN_BUTTON_HEIGHT)
|
||||
buttonSize.Height = MIN_BUTTON_HEIGHT;
|
||||
|
||||
return buttonSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the icon
|
||||
/// </summary>
|
||||
/// <param name="icon"></param>
|
||||
private void SetStandardIcon(MessageBoxIcon icon)
|
||||
{
|
||||
_standardIcon = icon;
|
||||
|
||||
switch(icon)
|
||||
{
|
||||
case MessageBoxIcon.Asterisk:
|
||||
_iconImage = SystemIcons.Asterisk;
|
||||
break;
|
||||
case MessageBoxIcon.Error:
|
||||
_iconImage = SystemIcons.Error;
|
||||
break;
|
||||
case MessageBoxIcon.Exclamation:
|
||||
_iconImage = SystemIcons.Exclamation;
|
||||
break;
|
||||
// case MessageBoxIcon.Hand:
|
||||
// _iconImage = SystemIcons.Hand;
|
||||
// break;
|
||||
// case MessageBoxIcon.Information:
|
||||
// _iconImage = SystemIcons.Information;
|
||||
// break;
|
||||
case MessageBoxIcon.Question:
|
||||
_iconImage = SystemIcons.Question;
|
||||
break;
|
||||
// case MessageBoxIcon.Stop:
|
||||
// _iconImage = SystemIcons.Stop;
|
||||
// break;
|
||||
// case MessageBoxIcon.Warning:
|
||||
// _iconImage = SystemIcons.Warning;
|
||||
// break;
|
||||
|
||||
case MessageBoxIcon.None:
|
||||
_iconImage = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void AddOkButtonIfNoButtonsPresent()
|
||||
{
|
||||
if(_buttons.Count == 0)
|
||||
{
|
||||
MessageBoxExButton okButton = new MessageBoxExButton();
|
||||
okButton.Text = MessageBoxExButtons.Ok.ToString();
|
||||
okButton.Value = MessageBoxExButtons.Ok.ToString();
|
||||
|
||||
_buttons.Add(okButton);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Centers the form on the screen
|
||||
/// </summary>
|
||||
private void CenterForm()
|
||||
{
|
||||
int x = (SystemInformation.WorkingArea.Width - this.Width ) / 2;
|
||||
int y = (SystemInformation.WorkingArea.Height - this.Height ) / 2;
|
||||
|
||||
this.Location = new Point(x,y);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the optimum size for the form based on the controls that
|
||||
/// need to be displayed
|
||||
/// </summary>
|
||||
private void SetOptimumSize()
|
||||
{
|
||||
int ncWidth = this.Width - this.ClientSize.Width;
|
||||
int ncHeight = this.Height - this.ClientSize.Height;
|
||||
|
||||
int iconAndMessageRowWidth = rtbMessage.Width + ICON_MESSAGE_PADDING + panelIcon.Width;
|
||||
int saveResponseRowWidth = chbSaveResponse.Width + (int)(panelIcon.Width / 2);
|
||||
int buttonsRowWidth = GetWidthOfAllButtons();
|
||||
int captionWidth = GetCaptionSize().Width;
|
||||
|
||||
int maxItemWidth = Math.Max(saveResponseRowWidth, Math.Max(iconAndMessageRowWidth, buttonsRowWidth));
|
||||
|
||||
int requiredWidth = LEFT_PADDING + maxItemWidth + RIGHT_PADDING + ncWidth;
|
||||
//Since Caption width is not client width, we do the check here
|
||||
if(requiredWidth < captionWidth)
|
||||
requiredWidth = captionWidth;
|
||||
|
||||
int requiredHeight = TOP_PADDING + Math.Max(rtbMessage.Height,panelIcon.Height) + ITEM_PADDING + chbSaveResponse.Height + ITEM_PADDING + GetButtonSize().Height + BOTTOM_PADDING + ncHeight;
|
||||
|
||||
//Fix the bug where if the message text is huge then the buttons are overwritten.
|
||||
//Incase the required height is more than the max height then adjust that in the
|
||||
//message height
|
||||
if(requiredHeight > _maxHeight)
|
||||
{
|
||||
rtbMessage.Height -= requiredHeight - _maxHeight;
|
||||
}
|
||||
|
||||
int height = Math.Min(requiredHeight, _maxHeight);
|
||||
int width = Math.Min(requiredWidth, _maxWidth);
|
||||
this.Size = new Size(width, height);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the width that will be occupied by all buttons including
|
||||
/// the inter-button padding
|
||||
/// </summary>
|
||||
private int GetWidthOfAllButtons()
|
||||
{
|
||||
Size buttonSize = GetButtonSize();
|
||||
int allButtonsWidth = buttonSize.Width*_buttons.Count + BUTTON_PADDING*(_buttons.Count-1);
|
||||
|
||||
return allButtonsWidth;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the width of the caption
|
||||
/// </summary>
|
||||
private Size GetCaptionSize()
|
||||
{
|
||||
Font captionFont = GetCaptionFont();
|
||||
if(captionFont == null)
|
||||
{
|
||||
//some error occured while determining system font
|
||||
captionFont = new Font("Tahoma",11);
|
||||
}
|
||||
|
||||
int availableWidth = _maxWidth - SystemInformation.CaptionButtonSize.Width - SystemInformation.Border3DSize.Width * 2 ;
|
||||
Size captionSize = MeasureString(this.Text, availableWidth, captionFont);
|
||||
|
||||
captionSize.Width += SystemInformation.CaptionButtonSize.Width + SystemInformation.Border3DSize.Width * 2;
|
||||
return captionSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Layout all the controls
|
||||
/// </summary>
|
||||
private void LayoutControls()
|
||||
{
|
||||
panelIcon.Location = new Point(LEFT_PADDING, TOP_PADDING);
|
||||
rtbMessage.Location = new Point(LEFT_PADDING + panelIcon.Width + ICON_MESSAGE_PADDING * (panelIcon.Width == 0 ? 0 : 1) , TOP_PADDING);
|
||||
|
||||
chbSaveResponse.Location = new Point(LEFT_PADDING + (int)(panelIcon.Width / 2),
|
||||
TOP_PADDING + Math.Max(panelIcon.Height, rtbMessage.Height) + ITEM_PADDING);
|
||||
|
||||
Size buttonSize = GetButtonSize();
|
||||
int allButtonsWidth = GetWidthOfAllButtons();
|
||||
|
||||
int firstButtonX = ((int)(this.ClientSize.Width - allButtonsWidth) / 2);
|
||||
int firstButtonY = this.ClientSize.Height - BOTTOM_PADDING - buttonSize.Height;
|
||||
Point nextButtonLocation = new Point(firstButtonX,firstButtonY);
|
||||
|
||||
bool foundDefaultButton = false;
|
||||
foreach(MessageBoxExButton button in _buttons)
|
||||
{
|
||||
Button buttonCtrl = GetButton(button, buttonSize, nextButtonLocation);
|
||||
|
||||
if(!foundDefaultButton)
|
||||
{
|
||||
_defaultButtonControl = buttonCtrl;
|
||||
foundDefaultButton = true;
|
||||
}
|
||||
|
||||
nextButtonLocation.X += buttonSize.Width + BUTTON_PADDING;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the button control for the specified MessageBoxExButton, if the
|
||||
/// control has not been created this method creates the control
|
||||
/// </summary>
|
||||
/// <param name="button"></param>
|
||||
/// <param name="size"></param>
|
||||
/// <param name="location"></param>
|
||||
/// <returns></returns>
|
||||
private Button GetButton(MessageBoxExButton button, Size size, Point location)
|
||||
{
|
||||
Button buttonCtrl = null;
|
||||
if(_buttonControlsTable.ContainsKey(button))
|
||||
{
|
||||
buttonCtrl = _buttonControlsTable[button] as Button;
|
||||
buttonCtrl.Size = size;
|
||||
buttonCtrl.Location = location;
|
||||
}
|
||||
else
|
||||
{
|
||||
buttonCtrl = CreateButton(button, size, location);
|
||||
_buttonControlsTable[button] = buttonCtrl;
|
||||
this.Controls.Add(buttonCtrl);
|
||||
}
|
||||
|
||||
return buttonCtrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a button control based on info from MessageBoxExButton
|
||||
/// </summary>
|
||||
/// <param name="button"></param>
|
||||
/// <param name="size"></param>
|
||||
/// <param name="location"></param>
|
||||
/// <returns></returns>
|
||||
private Button CreateButton(MessageBoxExButton button, Size size, Point location)
|
||||
{
|
||||
Button buttonCtrl = new Button();
|
||||
buttonCtrl.Size = size;
|
||||
buttonCtrl.Text = button.Text;
|
||||
buttonCtrl.TextAlign = ContentAlignment.MiddleCenter;
|
||||
buttonCtrl.FlatStyle = FlatStyle.System;
|
||||
if(button.HelpText != null && button.HelpText.Trim().Length != 0)
|
||||
{
|
||||
buttonToolTip.SetToolTip(buttonCtrl, button.HelpText);
|
||||
}
|
||||
buttonCtrl.Location = location;
|
||||
buttonCtrl.Click += new EventHandler(OnButtonClicked);
|
||||
buttonCtrl.Tag = button.Value;
|
||||
|
||||
return buttonCtrl;
|
||||
}
|
||||
|
||||
private void DisableCloseIfMultipleButtonsAndNoCancelButton()
|
||||
{
|
||||
if(_buttons.Count > 1)
|
||||
{
|
||||
if(_cancelButton != null)
|
||||
return;
|
||||
|
||||
//See if standard cancel button is present
|
||||
foreach(MessageBoxExButton button in _buttons)
|
||||
{
|
||||
if(button.Text == MessageBoxExButtons.Cancel.ToString() && button.Value == MessageBoxExButtons.Cancel.ToString())
|
||||
{
|
||||
_cancelButton = button;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//Standard cancel button is not present, Disable
|
||||
//close button
|
||||
DisableCloseButton(this);
|
||||
_allowCancel = false;
|
||||
|
||||
}
|
||||
else if(_buttons.Count == 1)
|
||||
{
|
||||
_cancelButton = _buttons[0] as MessageBoxExButton;
|
||||
}
|
||||
else
|
||||
{
|
||||
//This condition should never get called
|
||||
_allowCancel = false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Plays the alert sound based on the icon set for the message box
|
||||
/// </summary>
|
||||
private void PlayAlert()
|
||||
{
|
||||
if(_playAlert)
|
||||
{
|
||||
if(_standardIcon != MessageBoxIcon.None)
|
||||
{
|
||||
MessageBeep((uint)_standardIcon);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBeep(0 /*MB_OK*/);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectDefaultButton()
|
||||
{
|
||||
if(_defaultButtonControl != null)
|
||||
{
|
||||
_defaultButtonControl.Select();
|
||||
}
|
||||
}
|
||||
|
||||
private void StartTimerIfTimeoutGreaterThanZero()
|
||||
{
|
||||
if(_timeout > 0)
|
||||
{
|
||||
if(timerTimeout == null)
|
||||
{
|
||||
timerTimeout = new Timer(this.components);
|
||||
timerTimeout.Tick += new EventHandler(timerTimeout_Tick);
|
||||
}
|
||||
|
||||
if(!timerTimeout.Enabled)
|
||||
{
|
||||
timerTimeout.Interval = _timeout;
|
||||
timerTimeout.Start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SetResultAndClose(string result)
|
||||
{
|
||||
_result = result;
|
||||
this.DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Event Handlers
|
||||
private void OnButtonClicked(object sender, EventArgs e)
|
||||
{
|
||||
Button btn = sender as Button;
|
||||
if(btn == null || btn.Tag == null)
|
||||
return;
|
||||
|
||||
string result = btn.Tag as string;
|
||||
SetResultAndClose(result);
|
||||
}
|
||||
|
||||
private void timerTimeout_Tick(object sender, EventArgs e)
|
||||
{
|
||||
timerTimeout.Stop();
|
||||
|
||||
switch(_timeoutResult)
|
||||
{
|
||||
case TimeoutResult.Default:
|
||||
_defaultButtonControl.PerformClick();
|
||||
break;
|
||||
|
||||
case TimeoutResult.Cancel:
|
||||
if(_cancelButton != null)
|
||||
{
|
||||
SetResultAndClose(_cancelButton.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
_defaultButtonControl.PerformClick();
|
||||
}
|
||||
break;
|
||||
|
||||
case TimeoutResult.Timeout:
|
||||
SetResultAndClose(MessageBoxExResult.Timeout);
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region P/Invoke - SystemParametersInfo, GetSystemMenu, EnableMenuItem, MessageBeep
|
||||
private Font GetCaptionFont()
|
||||
{
|
||||
|
||||
NONCLIENTMETRICS ncm = new NONCLIENTMETRICS();
|
||||
ncm.cbSize = Marshal.SizeOf(typeof(NONCLIENTMETRICS));
|
||||
try
|
||||
{
|
||||
bool result = SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, ref ncm, 0);
|
||||
|
||||
if(result)
|
||||
{
|
||||
return Font.FromLogFont(ncm.lfCaptionFont);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
int lastError = Marshal.GetLastWin32Error();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch(Exception /*ex*/)
|
||||
{
|
||||
//System.Console.WriteLine(ex.Message);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private const int SPI_GETNONCLIENTMETRICS = 41;
|
||||
private const int LF_FACESIZE = 32;
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
|
||||
private struct LOGFONT
|
||||
{
|
||||
public int lfHeight;
|
||||
public int lfWidth;
|
||||
public int lfEscapement;
|
||||
public int lfOrientation;
|
||||
public int lfWeight;
|
||||
public byte lfItalic;
|
||||
public byte lfUnderline;
|
||||
public byte lfStrikeOut;
|
||||
public byte lfCharSet;
|
||||
public byte lfOutPrecision;
|
||||
public byte lfClipPrecision;
|
||||
public byte lfQuality;
|
||||
public byte lfPitchAndFamily;
|
||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
|
||||
public string lfFaceSize;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
|
||||
private struct NONCLIENTMETRICS
|
||||
{
|
||||
public int cbSize;
|
||||
public int iBorderWidth;
|
||||
public int iScrollWidth;
|
||||
public int iScrollHeight;
|
||||
public int iCaptionWidth;
|
||||
public int iCaptionHeight;
|
||||
public LOGFONT lfCaptionFont;
|
||||
public int iSmCaptionWidth;
|
||||
public int iSmCaptionHeight;
|
||||
public LOGFONT lfSmCaptionFont;
|
||||
public int iMenuWidth;
|
||||
public int iMenuHeight;
|
||||
public LOGFONT lfMenuFont;
|
||||
public LOGFONT lfStatusFont;
|
||||
public LOGFONT lfMessageFont;
|
||||
}
|
||||
|
||||
[DllImport("user32.dll", SetLastError=true, CharSet=CharSet.Auto)]
|
||||
private static extern bool SystemParametersInfo(int uiAction, int uiParam,
|
||||
ref NONCLIENTMETRICS ncMetrics, int fWinIni);
|
||||
|
||||
|
||||
[DllImport("user32.dll", CharSet=CharSet.Auto)]
|
||||
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
|
||||
|
||||
[DllImport("user32.dll", CharSet=CharSet.Auto)]
|
||||
private static extern bool EnableMenuItem(IntPtr hMenu, uint uIDEnableItem,
|
||||
uint uEnable);
|
||||
|
||||
private const int SC_CLOSE = 0xF060;
|
||||
private const int MF_BYCOMMAND = 0x0;
|
||||
private const int MF_GRAYED = 0x1;
|
||||
private const int MF_ENABLED = 0x0;
|
||||
|
||||
private void DisableCloseButton(Form form)
|
||||
{
|
||||
try
|
||||
{
|
||||
EnableMenuItem(GetSystemMenu(form.Handle, false), SC_CLOSE, MF_BYCOMMAND | MF_GRAYED);
|
||||
}
|
||||
catch(Exception /*ex*/)
|
||||
{
|
||||
//System.Console.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("user32.dll", CharSet=CharSet.Auto)]
|
||||
private static extern bool MessageBeep(uint type);
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
387
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxExForm.resx
Normal file
@ -0,0 +1,387 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 1.3
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">1.3</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1">this is my long string</data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
[base64 mime encoded serialized .NET Framework object]
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used forserialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>1.3</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="panelIcon.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="panelIcon.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="panelIcon.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="panelIcon.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="panelIcon.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="panelIcon.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="chbSaveResponse.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="chbSaveResponse.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="chbSaveResponse.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="imageListIcons.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="imageListIcons.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="imageListIcons.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</data>
|
||||
<data name="imageListIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw
|
||||
MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT
|
||||
eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA
|
||||
AADELQAAAk1TRnQBSQFMAgEBBAEAAQUBAAEEAQABIAEAASABAAT/AREBEAj/AUIBTQE2BwABNgMAASgD
|
||||
AAGAAwABQAMAAQEBAAEQBgABQP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wA8AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIqAAEQAUIBEAFCMAABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjwAARABQgEQAUIe
|
||||
AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQiYAARABQgEQAUIB
|
||||
EAFCKgABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QjQAARABQgEQAUIBEAFCGwABQjAAARABQgEQAUIBEAFCARABQgEQAUImAAEQAUIBEAFCKAABEAFCARAB
|
||||
QgEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIBEAFCNAAB
|
||||
EAFCARABQhkAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARAB
|
||||
QgEQAUIBEAFCIgAB/wF/AgABEAFCARABQiQAARABQgEAAUABAAFAAQABQAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIsAAH/AX8CAAEQAUIB
|
||||
EAFCFwABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARAB
|
||||
QgEQAUIBEAFCIAAB/wF/Af8BfwIAARABQgEQAUIiAAEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARABQgEQAUIo
|
||||
AAH/AX8B/wF/AgABEAFCARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8CAAEQAUIBEAFCARABQhoAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQiEAAUAB
|
||||
AAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUABAAFAARABQgEQAUIBEAFCARABQiAAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARAB
|
||||
QhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAAB
|
||||
GAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgAB
|
||||
EAFCARABQgEQAUIBEAFCAgAB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCGQABQAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABQAEQAUIBEAFCARABQhoAARABQgEQAUIBEAFCARABQgIAAf8BfwH/AX8B
|
||||
/wF/AgABEAFCARABQgEQAUIBEAFCARABQhEAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
GAFjAgABEAFCARABQhIAARABQgEQAUIBEAFCBgABGAFjAf8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIB
|
||||
EAFCARABQgEQAUIBEAFCEwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIB
|
||||
EAFCFAABEAFCARABQgEQAUIGAAEYAWMB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCARAB
|
||||
QgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCBgABGAFjAf8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUIRAAFAAQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIBEAFCEAABEAFCBgABGAFjAf8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUINAAFCAeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFjAeABfwHgAX8B4AF/AeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8B
|
||||
fwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUISAAEYAWMB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQAB
|
||||
QgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhIAARgBYwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAgAB
|
||||
EAFCARABQgEQAUIBEAFCCQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABQAEQAUIBEAFCDgABGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMCAAEQAUIBEAFCARABQgEQAUILAAFCAeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIB
|
||||
EAFCARABQgEQAUIHAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAFAARABQgEQAUIBEAFCCgAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCARABQgsAAUIB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABGAFjAeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/ARgBYwEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwIAARABQgEQAUIBEAFCARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUABEAFCARABQgEQAUIIAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIB
|
||||
EAFCARABQgEQAUIJAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AQABQgMAAUIB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIDAAFAAQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgQAARABQgH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAEfAQAB
|
||||
HwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwHgAX8B4AF/BgAB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwIAARAB
|
||||
QgEQAUIMAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQAB
|
||||
HwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwIAARAB
|
||||
QgEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAFAARABQgEQAUICAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/ARgBYwIAARABQgEQAUIBEAFCCQABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBgAB
|
||||
GAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIMAAEQAUIB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCAQABQAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB
|
||||
HwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwAB
|
||||
QgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEAAUIHAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgAB
|
||||
EAFCARABQgwAARABQgEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwEYAWMCAAEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQAUILAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/CgAB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIB/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8B
|
||||
AAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg0AAUIB
|
||||
4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCDgABEAFCAf8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAARgB
|
||||
YwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIB
|
||||
AAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUAB
|
||||
EAFCARABQgEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
HwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/AgABEAFCARABQg0AAUIB4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwEYAWMC
|
||||
AAEQAUIBEAFCDgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAUABEAFCAgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B
|
||||
4AF/AeABfwIAARABQgEQAUIQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg8AAUIB4AF/AeABfwHgAX8B4AF/CgAB
|
||||
4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIFAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCEwABQgHgAX8B4AF/AeABfwEYAWMGAAEYAWMB
|
||||
4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAUABEAFCBAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQhMAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwIAARABQgcAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUAIAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwIAARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgAB
|
||||
EAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
HwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMNAAFAAQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUIIAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAEfAQABGAFjAf8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYxsAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeAB
|
||||
fwEYAWMCAAEQAUIBEAFCGAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAARgB
|
||||
YwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/EQAB
|
||||
QAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgwAARABQgH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8Bfx8AAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARAB
|
||||
QhwAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAEfAQAB
|
||||
HwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8TAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB
|
||||
AAF8AQABfAEAAUAQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8B
|
||||
AAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/IQABQgHgAX8B4AF/AeAB
|
||||
fwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCHgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8XAAFAAQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAFAFAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMB
|
||||
HwEAAR8BAAEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8lAAFCAeABfwHgAX8B
|
||||
4AF/AeABfwHgAX8CAAEQAUIBEAFCIgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQhkAAUABAAFAAQABfAEAAXwB
|
||||
AAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUAB
|
||||
AAFAGAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8B
|
||||
fwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQiUAAUIB4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQiYAARAB
|
||||
QgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgB
|
||||
YwEQAUIBEAFCHwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQAB
|
||||
fAEAAXwBAAF8AQABQB4AARABQgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/ARgBYwEQAUIBEAFCKQABQgHgAX8B4AF/ARgBYzAAARABQgEQAUIBEAFCARgB
|
||||
YwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIlAAFAAQABQAEAAUABAAF8AQAB
|
||||
fAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFAAQABQCQAARABQgEQAUIBEAFCARgBYwH/AX8B
|
||||
/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIvAAFCAQABQgEAAUI2AAEQAUIBEAFCARAB
|
||||
QgEQAUIBEAFCARABQgEQAUIBEAFCMQABQAEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUAwAAEQAUIB
|
||||
EAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCGgABQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEG
|
||||
AAEEFgAD//8A/wADAAH4AgABAwL/AecC/wH4AQcD/wHnAf8B8AIAAQEC/wHHAv8BwAEAA/8BxwH/AcAD
|
||||
AAL/AYcC/wGAAQABfwL/AYcB/wGAAwAC/wEHAf8B/gIAAR8C/wEHAf8EAAH/Af4BBwH/AfwCAAEPAf8B
|
||||
/gEHAf8EAAH/AfgBBwH/AfgCAAEHAf8B+AEHAf8DAAEBAf8BwAEAAf8B8AIAAQcB/wHAAQAB/wMAAQEB
|
||||
/wIAAT8B4AIAAQMB/wIAAT8BgAIAAQMB/gIAAR8B4AIAAQEB/gIAAR8BgAIAAQMB/AIAAQ8BwAIAAQEB
|
||||
/AIAAQ8BwAIAAQcB+AIAAQcBgAIAAQEB+AIAAQcBwAIAAQcB8AIAAQMBgAMAAfACAAEDAeACAAEPAeAC
|
||||
AAEBAYADAAHgAgABAQHgAgABDwHAAgABAQQAAcACAAEBAfACAAEfAYAHAAGAAwAB8AIAAR8BgAcAAYAD
|
||||
AAH4AgABPwwAAfgCAAE/DAAB/AIAAX8MAAH8AgABfwcAAQEEAAH+AgAB/wcAAQEEAAH+AgAB/wMAAQEB
|
||||
gAIAAQEDAAEBAf8BAAEBAf8DAAEBAYACAAEDAwABAQH/AQABAQH/AYACAAEDAYACAAEHAYACAAEDAf8B
|
||||
gAEDAf8BgAIAAQcBwAIAAQcBgAIAAQcB/wGAAQMB/wHAAgABDwHgAgABDwHAAgABDwH/AcABBwH/AeAC
|
||||
AAEfAeACAAEfAeACAAEfAf8BwAEHAf8B8AIAAT8B8AIAAT8B8AIAAT8B/wHgAQ8B/wH4AgABfwH4AgAB
|
||||
fwH4AgABfwH/AeABHwH/AfwCAAH/Af4BAAEBAf8B/AIAAv8B8AF/Av8BAAEDAv8BAAEDAv8BAAEDAv8B
|
||||
+AP/AeABHwL/AeABHwL/AeABHwH/FgAL
|
||||
</value>
|
||||
</data>
|
||||
<data name="buttonToolTip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="buttonToolTip.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>142, 17</value>
|
||||
</data>
|
||||
<data name="buttonToolTip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="rtbMessage.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="rtbMessage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="rtbMessage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
<data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>(Default)</value>
|
||||
</data>
|
||||
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>8, 8</value>
|
||||
</data>
|
||||
<data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>80</value>
|
||||
</data>
|
||||
<data name="$this.Name">
|
||||
<value>MessageBoxExForm</value>
|
||||
</data>
|
||||
<data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>Private</value>
|
||||
</data>
|
||||
</root>
|
||||
20
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxExIcon.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Standard MessageBoxEx icons
|
||||
/// </summary>
|
||||
public enum MessageBoxExIcon
|
||||
{
|
||||
None,
|
||||
Asterisk,
|
||||
Error,
|
||||
Exclamation,
|
||||
Hand,
|
||||
Information,
|
||||
Question,
|
||||
Stop,
|
||||
Warning
|
||||
}
|
||||
}
|
||||
126
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxExLib.csproj
Normal file
@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
|
||||
<PropertyGroup>
|
||||
<ProjectType>Local</ProjectType>
|
||||
<ProductVersion>7.10.3077</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{4847D05C-EB58-49D9-B280-D22F8FF01857}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ApplicationIcon />
|
||||
<AssemblyKeyContainerName />
|
||||
<AssemblyName>MessageBoxExLib</AssemblyName>
|
||||
<AssemblyOriginatorKeyFile />
|
||||
<DefaultClientScript>JScript</DefaultClientScript>
|
||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||
<DelaySign>false</DelaySign>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>Utils.MessageBoxExLib</RootNamespace>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
<StartupObject />
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>0.0</OldToolsVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile />
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile />
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn />
|
||||
<Optimize>false</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>full</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
<BaseAddress>285212672</BaseAddress>
|
||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
||||
<ConfigurationOverrideFile />
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DocumentationFile />
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<FileAlignment>4096</FileAlignment>
|
||||
<NoStdLib>false</NoStdLib>
|
||||
<NoWarn />
|
||||
<Optimize>true</Optimize>
|
||||
<RegisterForComInterop>false</RegisterForComInterop>
|
||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<DebugType>none</DebugType>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System">
|
||||
<Name>System</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Data">
|
||||
<Name>System.Data</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing">
|
||||
<Name>System.Drawing</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms">
|
||||
<Name>System.Windows.Forms</Name>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml">
|
||||
<Name>System.XML</Name>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxEx.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxExButton.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxExButtons.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxExForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxExIcon.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxExManager.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageBoxExResult.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="TimeoutResult.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Content Include="Notes.txt" />
|
||||
<EmbeddedResource Include="MessageBoxExForm.resx">
|
||||
<DependentUpon>MessageBoxExForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\StandardButtonsText.de.resx" />
|
||||
<EmbeddedResource Include="Resources\StandardButtonsText.fr.resx" />
|
||||
<EmbeddedResource Include="Resources\StandardButtonsText.resx" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent />
|
||||
<PostBuildEvent />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
205
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxExManager.cs
Normal file
@ -0,0 +1,205 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using System.Resources;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Manages a collection of MessageBoxes. Basically manages the
|
||||
/// saved response handling for messageBoxes.
|
||||
/// </summary>
|
||||
public class MessageBoxExManager
|
||||
{
|
||||
#region Fields
|
||||
private static Hashtable _messageBoxes = new Hashtable();
|
||||
private static Hashtable _savedResponses = new Hashtable();
|
||||
|
||||
private static Hashtable _standardButtonsText = new Hashtable();
|
||||
#endregion
|
||||
|
||||
#region Static ctor
|
||||
static MessageBoxExManager()
|
||||
{
|
||||
try
|
||||
{
|
||||
Assembly current = typeof(MessageBoxExManager).Assembly;
|
||||
string[] resources = current.GetManifestResourceNames();
|
||||
ResourceManager rm = new ResourceManager("Utils.MessageBoxExLib.Resources.StandardButtonsText", typeof(MessageBoxExManager).Assembly);
|
||||
_standardButtonsText[MessageBoxExButtons.Ok.ToString()] = rm.GetString("Ok");
|
||||
_standardButtonsText[MessageBoxExButtons.Cancel.ToString()] = rm.GetString("Cancel");
|
||||
_standardButtonsText[MessageBoxExButtons.Yes.ToString()] = rm.GetString("Yes");
|
||||
_standardButtonsText[MessageBoxExButtons.No.ToString()] = rm.GetString("No");
|
||||
_standardButtonsText[MessageBoxExButtons.Abort.ToString()] = rm.GetString("Abort");
|
||||
_standardButtonsText[MessageBoxExButtons.Retry.ToString()] = rm.GetString("Retry");
|
||||
_standardButtonsText[MessageBoxExButtons.Ignore.ToString()] = rm.GetString("Ignore");
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
System.Diagnostics.Debug.Assert(false, "Unable to load resources for MessageBoxEx", ex.ToString());
|
||||
|
||||
//Load default resources
|
||||
_standardButtonsText[MessageBoxExButtons.Ok.ToString()] = "Ok";
|
||||
_standardButtonsText[MessageBoxExButtons.Cancel.ToString()] = "Cancel";
|
||||
_standardButtonsText[MessageBoxExButtons.Yes.ToString()] = "Yes";
|
||||
_standardButtonsText[MessageBoxExButtons.No.ToString()] = "No";
|
||||
_standardButtonsText[MessageBoxExButtons.Abort.ToString()] = "Abort";
|
||||
_standardButtonsText[MessageBoxExButtons.Retry.ToString()] = "Retry";
|
||||
_standardButtonsText[MessageBoxExButtons.Ignore.ToString()] = "Ignore";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
/// <summary>
|
||||
/// Creates a new message box with the specified name. If null is specified
|
||||
/// in the message name then the message box is not managed by the Manager and
|
||||
/// will be disposed automatically after a call to Show()
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the message box</param>
|
||||
/// <returns>A new message box</returns>
|
||||
public static MessageBoxEx CreateMessageBox(string name)
|
||||
{
|
||||
if(name != null && _messageBoxes.ContainsKey(name))
|
||||
{
|
||||
string err = string.Format("A MessageBox with the name {0} already exists.",name);
|
||||
throw new ArgumentException(err,"name");
|
||||
}
|
||||
|
||||
MessageBoxEx msgBox = new MessageBoxEx();
|
||||
msgBox.Name = name;
|
||||
if(msgBox.Name != null)
|
||||
{
|
||||
_messageBoxes[name] = msgBox;
|
||||
}
|
||||
|
||||
return msgBox;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the message box with the specified name
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the message box to retrieve</param>
|
||||
/// <returns>The message box with the specified name or null if a message box
|
||||
/// with that name does not exist</returns>
|
||||
public static MessageBoxEx GetMessageBox(string name)
|
||||
{
|
||||
if(_messageBoxes.Contains(name))
|
||||
{
|
||||
return _messageBoxes[name] as MessageBoxEx;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the message box with the specified name
|
||||
/// </summary>
|
||||
/// <param name="name">The name of the message box to delete</param>
|
||||
public static void DeleteMessageBox(string name)
|
||||
{
|
||||
if(name == null)
|
||||
return;
|
||||
|
||||
if(_messageBoxes.Contains(name))
|
||||
{
|
||||
MessageBoxEx msgBox = _messageBoxes[name] as MessageBoxEx;
|
||||
msgBox.Dispose();
|
||||
_messageBoxes.Remove(name);
|
||||
}
|
||||
}
|
||||
|
||||
public static void WriteSavedResponses(Stream stream)
|
||||
{
|
||||
throw new NotImplementedException("This feature has not yet been implemented");
|
||||
}
|
||||
|
||||
public static void ReadSavedResponses(Stream stream)
|
||||
{
|
||||
throw new NotImplementedException("This feature has not yet been implemented");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset the saved response for the message box with the specified name.
|
||||
/// </summary>
|
||||
/// <param name="messageBoxName">The name of the message box whose response is to be reset.</param>
|
||||
public static void ResetSavedResponse(string messageBoxName)
|
||||
{
|
||||
if(messageBoxName == null)
|
||||
return;
|
||||
|
||||
if(_savedResponses.ContainsKey(messageBoxName))
|
||||
{
|
||||
_savedResponses.Remove(messageBoxName);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Resets the saved responses for all message boxes that are managed by the manager.
|
||||
/// </summary>
|
||||
public static void ResetAllSavedResponses()
|
||||
{
|
||||
_savedResponses.Clear();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Internal Methods
|
||||
/// <summary>
|
||||
/// Set the saved response for the specified message box
|
||||
/// </summary>
|
||||
/// <param name="msgBox">The message box whose response is to be set</param>
|
||||
/// <param name="response">The response to save for the message box</param>
|
||||
internal static void SetSavedResponse(MessageBoxEx msgBox, string response)
|
||||
{
|
||||
if(msgBox.Name == null)
|
||||
return;
|
||||
|
||||
_savedResponses[msgBox.Name] = response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the saved response for the specified message box
|
||||
/// </summary>
|
||||
/// <param name="msgBox">The message box whose saved response is to be retrieved</param>
|
||||
/// <returns>The saved response if exists, null otherwise</returns>
|
||||
internal static string GetSavedResponse(MessageBoxEx msgBox)
|
||||
{
|
||||
string msgBoxName = msgBox.Name;
|
||||
if(msgBoxName == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if(_savedResponses.ContainsKey(msgBoxName))
|
||||
{
|
||||
return _savedResponses[msgBox.Name].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the localized string for standard button texts like,
|
||||
/// "Ok", "Cancel" etc.
|
||||
/// </summary>
|
||||
/// <param name="key"></param>
|
||||
/// <returns></returns>
|
||||
internal static string GetLocalizedString(string key)
|
||||
{
|
||||
if(_standardButtonsText.ContainsKey(key))
|
||||
{
|
||||
return (string)_standardButtonsText[key];
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
19
Daten/MessageBoxExDemo/MessageBoxExLib/MessageBoxExResult.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Standard MessageBoxEx results
|
||||
/// </summary>
|
||||
public struct MessageBoxExResult
|
||||
{
|
||||
public const string Ok = "Ok";
|
||||
public const string Cancel = "Cancel";
|
||||
public const string Yes = "Yes";
|
||||
public const string No = "No";
|
||||
public const string Abort = "Abort";
|
||||
public const string Retry = "Retry";
|
||||
public const string Ignore = "Ignore";
|
||||
public const string Timeout = "Timeout";
|
||||
}
|
||||
}
|
||||
19
Daten/MessageBoxExDemo/MessageBoxExLib/Notes.txt
Normal file
@ -0,0 +1,19 @@
|
||||
Purpose
|
||||
|
||||
This library provides an advanced framework for message boxes.
|
||||
Some salient features are -
|
||||
|
||||
1. Ability to associate text with buttons, thus you can specify a
|
||||
text for each button that tells the user what will happen when the button
|
||||
is pressed. This is currently shown as a simple tooltip.
|
||||
|
||||
2. Ability to specify an option that allows the user to always use the same response
|
||||
for the specified messagebox.
|
||||
|
||||
3. Ability to save/load user preferences for various messageboxes. (Not implemented in this release)
|
||||
|
||||
4. Ability to customize buttons, icon, sounds.
|
||||
|
||||
5. Ability to specify a Timeout for the message box.
|
||||
|
||||
6. Standard button texts are localized based on current culture.
|
||||
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="ResMimeType">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="Version">
|
||||
<value>1.0.0.0</value>
|
||||
</resheader>
|
||||
<resheader name="Reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="Writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Ok">
|
||||
<value>O.K.</value>
|
||||
</data>
|
||||
<data name="Cancel">
|
||||
<value>Löschen</value>
|
||||
</data>
|
||||
<data name="Yes">
|
||||
<value>Ja</value>
|
||||
</data>
|
||||
<data name="No">
|
||||
<value>Nein</value>
|
||||
</data>
|
||||
<data name="Abort">
|
||||
<value>Abbruch</value>
|
||||
</data>
|
||||
<data name="Retry">
|
||||
<value>Wiederholung</value>
|
||||
</data>
|
||||
<data name="Ignore">
|
||||
<value>Ignorieren</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="ResMimeType">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="Version">
|
||||
<value>1.0.0.0</value>
|
||||
</resheader>
|
||||
<resheader name="Reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="Writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Ok">
|
||||
<value>Ok</value>
|
||||
</data>
|
||||
<data name="Cancel">
|
||||
<value>Annuler</value>
|
||||
</data>
|
||||
<data name="Yes">
|
||||
<value>Oui</value>
|
||||
</data>
|
||||
<data name="No">
|
||||
<value>Non</value>
|
||||
</data>
|
||||
<data name="Abort">
|
||||
<value>Arrêt</value>
|
||||
</data>
|
||||
<data name="Retry">
|
||||
<value>Nouvelle</value>
|
||||
</data>
|
||||
<data name="Ignore">
|
||||
<value>Ignorez</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<root>
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="ResMimeType">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="Version">
|
||||
<value>1.0.0.0</value>
|
||||
</resheader>
|
||||
<resheader name="Reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="Writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Ok">
|
||||
<value>Ok</value>
|
||||
</data>
|
||||
<data name="Cancel">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="Yes">
|
||||
<value>Yes</value>
|
||||
</data>
|
||||
<data name="No">
|
||||
<value>No</value>
|
||||
</data>
|
||||
<data name="Abort">
|
||||
<value>Abort</value>
|
||||
</data>
|
||||
<data name="Retry">
|
||||
<value>Retry</value>
|
||||
</data>
|
||||
<data name="Ignore">
|
||||
<value>Ignore</value>
|
||||
</data>
|
||||
</root>
|
||||
29
Daten/MessageBoxExDemo/MessageBoxExLib/TimeoutResult.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using System;
|
||||
|
||||
namespace Utils.MessageBoxExLib
|
||||
{
|
||||
/// <summary>
|
||||
/// Enumerates the kind of results that can be returned when a
|
||||
/// message box times out
|
||||
/// </summary>
|
||||
public enum TimeoutResult
|
||||
{
|
||||
/// <summary>
|
||||
/// On timeout the value associated with the default button is set as the result.
|
||||
/// This is the default action on timeout.
|
||||
/// </summary>
|
||||
Default,
|
||||
|
||||
/// <summary>
|
||||
/// On timeout the value associated with the cancel button is set as the result. If
|
||||
/// the messagebox does not have a cancel button then the value associated with
|
||||
/// the default button is set as the result.
|
||||
/// </summary>
|
||||
Cancel,
|
||||
|
||||
/// <summary>
|
||||
/// On timeout MessageBoxExResult.Timeout is set as the result.
|
||||
/// </summary>
|
||||
Timeout
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
|
||||
@ -0,0 +1 @@
|
||||
dff0f48125b8689960d493a17441e9a6218a8f55
|
||||
@ -0,0 +1,15 @@
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\bin\Debug\MessageBoxExLib.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\bin\Debug\MessageBoxExLib.pdb
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\bin\Debug\de\MessageBoxExLib.resources.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\bin\Debug\fr\MessageBoxExLib.resources.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\MessageBoxExLib.csprojAssemblyReference.cache
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\Utils.MessageBoxExLib.MessageBoxExForm.resources
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\Utils.MessageBoxExLib.Resources.StandardButtonsText.resources
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\Utils.MessageBoxExLib.Resources.StandardButtonsText.de.resources
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\Utils.MessageBoxExLib.Resources.StandardButtonsText.fr.resources
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\MessageBoxExLib.csproj.GenerateResource.cache
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\MessageBoxExLib.csproj.CoreCompileInputs.cache
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\de\MessageBoxExLib.resources.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\fr\MessageBoxExLib.resources.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\MessageBoxExLib.dll
|
||||
H:\Programmieren\Git-Repository\VisualStudio\2017\_TEST\Test_CustomerMessageBox\Daten\MessageBoxExDemo\MessageBoxExLib\obj\Debug\MessageBoxExLib.pdb
|
||||