Initialize

This commit is contained in:
Eugen Höglinger 2020-11-25 17:36:11 +01:00
commit 709e0f5c55
106 changed files with 6419 additions and 0 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

754
MessageBoxConfigurator/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,754 @@
namespace MessageBoxConfigurator
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
System.Windows.Forms.ListViewItem listViewItem29 = new System.Windows.Forms.ListViewItem("OK");
System.Windows.Forms.ListViewItem listViewItem30 = new System.Windows.Forms.ListViewItem("Cancel");
System.Windows.Forms.ListViewItem listViewItem31 = new System.Windows.Forms.ListViewItem("Yes");
System.Windows.Forms.ListViewItem listViewItem32 = new System.Windows.Forms.ListViewItem("No");
System.Windows.Forms.ListViewItem listViewItem33 = new System.Windows.Forms.ListViewItem("Abort");
System.Windows.Forms.ListViewItem listViewItem34 = new System.Windows.Forms.ListViewItem("Retry");
System.Windows.Forms.ListViewItem listViewItem35 = new System.Windows.Forms.ListViewItem("Ignore");
this.groupBoxMsgBox = new System.Windows.Forms.GroupBox();
this.textBoxMessage = new System.Windows.Forms.TextBox();
this.textBoxCaption = new System.Windows.Forms.TextBox();
this.textBoxName = new System.Windows.Forms.TextBox();
this.labelMessage = new System.Windows.Forms.Label();
this.labelCaption = new System.Windows.Forms.Label();
this.labelName = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.groupBoxFont = new System.Windows.Forms.GroupBox();
this.textBoxFont = new System.Windows.Forms.TextBox();
this.buttonFont = new System.Windows.Forms.Button();
this.groupBoxSound = new System.Windows.Forms.GroupBox();
this.checkBoxSound = new System.Windows.Forms.CheckBox();
this.groupBoxTimeOut = new System.Windows.Forms.GroupBox();
this.comboBoxResult = new System.Windows.Forms.ComboBox();
this.labelTimeoutResult = new System.Windows.Forms.Label();
this.textBoxTimeout = new System.Windows.Forms.TextBox();
this.labelTimeout = new System.Windows.Forms.Label();
this.groupBoxIcons = new System.Windows.Forms.GroupBox();
this.buttonName = new System.Windows.Forms.Button();
this.pictureBox4 = new System.Windows.Forms.PictureBox();
this.pictureBox3 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.textBoxIconName = new System.Windows.Forms.TextBox();
this.radioButtonUserDefinedIcon = new System.Windows.Forms.RadioButton();
this.radioButtonNone = new System.Windows.Forms.RadioButton();
this.radioButtonQuestion = new System.Windows.Forms.RadioButton();
this.radioButtonHand = new System.Windows.Forms.RadioButton();
this.radioButtonExclamation = new System.Windows.Forms.RadioButton();
this.radioButtonAsterisk = new System.Windows.Forms.RadioButton();
this.groupBoxSaveOptions = new System.Windows.Forms.GroupBox();
this.checkBoxUseSaveResponse = new System.Windows.Forms.CheckBox();
this.textBoxSaveResponse = new System.Windows.Forms.TextBox();
this.checkBoxAllowSaveResponse = new System.Windows.Forms.CheckBox();
this.groupBoxButton = new System.Windows.Forms.GroupBox();
this.listViewButtons = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.buttonAddButton = new System.Windows.Forms.Button();
this.groupBoxUserDefinedButton = new System.Windows.Forms.GroupBox();
this.checkBoxIsCancel = new System.Windows.Forms.CheckBox();
this.textBoxButtonHelpText = new System.Windows.Forms.TextBox();
this.textBoxButtonValue = new System.Windows.Forms.TextBox();
this.textBoxButtonText = new System.Windows.Forms.TextBox();
this.labelButtonHelpText = new System.Windows.Forms.Label();
this.labelButtonValue = new System.Windows.Forms.Label();
this.labelButtonText = new System.Windows.Forms.Label();
this.groupBoxCode = new System.Windows.Forms.GroupBox();
this.textBoxCode = new System.Windows.Forms.TextBox();
this.buttonCopyToClipboard = new System.Windows.Forms.Button();
this.buttonGenerateCode = new System.Windows.Forms.Button();
this.openFileDialogName = new System.Windows.Forms.OpenFileDialog();
this.fontDialog = new System.Windows.Forms.FontDialog();
this.groupBoxMsgBox.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBoxFont.SuspendLayout();
this.groupBoxSound.SuspendLayout();
this.groupBoxTimeOut.SuspendLayout();
this.groupBoxIcons.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.groupBoxSaveOptions.SuspendLayout();
this.groupBoxButton.SuspendLayout();
this.groupBoxUserDefinedButton.SuspendLayout();
this.groupBoxCode.SuspendLayout();
this.SuspendLayout();
//
// groupBoxMsgBox
//
this.groupBoxMsgBox.Controls.Add(this.textBoxMessage);
this.groupBoxMsgBox.Controls.Add(this.textBoxCaption);
this.groupBoxMsgBox.Controls.Add(this.textBoxName);
this.groupBoxMsgBox.Controls.Add(this.labelMessage);
this.groupBoxMsgBox.Controls.Add(this.labelCaption);
this.groupBoxMsgBox.Controls.Add(this.labelName);
this.groupBoxMsgBox.Location = new System.Drawing.Point(6, 19);
this.groupBoxMsgBox.Name = "groupBoxMsgBox";
this.groupBoxMsgBox.Size = new System.Drawing.Size(314, 177);
this.groupBoxMsgBox.TabIndex = 0;
this.groupBoxMsgBox.TabStop = false;
this.groupBoxMsgBox.Text = "Box";
//
// textBoxMessage
//
this.textBoxMessage.Location = new System.Drawing.Point(68, 73);
this.textBoxMessage.Multiline = true;
this.textBoxMessage.Name = "textBoxMessage";
this.textBoxMessage.Size = new System.Drawing.Size(240, 97);
this.textBoxMessage.TabIndex = 5;
this.textBoxMessage.Text = "<Text>";
//
// textBoxCaption
//
this.textBoxCaption.Location = new System.Drawing.Point(68, 47);
this.textBoxCaption.Name = "textBoxCaption";
this.textBoxCaption.Size = new System.Drawing.Size(240, 20);
this.textBoxCaption.TabIndex = 4;
this.textBoxCaption.Text = "<Caption>";
//
// textBoxName
//
this.textBoxName.Location = new System.Drawing.Point(68, 20);
this.textBoxName.Name = "textBoxName";
this.textBoxName.Size = new System.Drawing.Size(240, 20);
this.textBoxName.TabIndex = 3;
this.textBoxName.Text = "<Name>";
//
// labelMessage
//
this.labelMessage.AutoSize = true;
this.labelMessage.Location = new System.Drawing.Point(6, 77);
this.labelMessage.Name = "labelMessage";
this.labelMessage.Size = new System.Drawing.Size(50, 13);
this.labelMessage.TabIndex = 2;
this.labelMessage.Text = "Message";
//
// labelCaption
//
this.labelCaption.AutoSize = true;
this.labelCaption.Location = new System.Drawing.Point(6, 50);
this.labelCaption.Name = "labelCaption";
this.labelCaption.Size = new System.Drawing.Size(43, 13);
this.labelCaption.TabIndex = 1;
this.labelCaption.Text = "Caption";
//
// labelName
//
this.labelName.AutoSize = true;
this.labelName.Location = new System.Drawing.Point(6, 23);
this.labelName.Name = "labelName";
this.labelName.Size = new System.Drawing.Size(35, 13);
this.labelName.TabIndex = 0;
this.labelName.Text = "Name";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.groupBoxFont);
this.groupBox1.Controls.Add(this.groupBoxSound);
this.groupBox1.Controls.Add(this.groupBoxTimeOut);
this.groupBox1.Controls.Add(this.groupBoxIcons);
this.groupBox1.Controls.Add(this.groupBoxSaveOptions);
this.groupBox1.Controls.Add(this.groupBoxButton);
this.groupBox1.Controls.Add(this.groupBoxMsgBox);
this.groupBox1.Location = new System.Drawing.Point(12, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(667, 440);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "MessageBox";
//
// groupBoxFont
//
this.groupBoxFont.Controls.Add(this.textBoxFont);
this.groupBoxFont.Controls.Add(this.buttonFont);
this.groupBoxFont.Location = new System.Drawing.Point(481, 146);
this.groupBoxFont.Name = "groupBoxFont";
this.groupBoxFont.Size = new System.Drawing.Size(180, 49);
this.groupBoxFont.TabIndex = 7;
this.groupBoxFont.TabStop = false;
this.groupBoxFont.Text = "Font";
//
// textBoxFont
//
this.textBoxFont.Location = new System.Drawing.Point(76, 22);
this.textBoxFont.Name = "textBoxFont";
this.textBoxFont.Size = new System.Drawing.Size(98, 20);
this.textBoxFont.TabIndex = 1;
this.textBoxFont.Text = "\"Tahoma\", 8";
//
// buttonFont
//
this.buttonFont.Location = new System.Drawing.Point(7, 20);
this.buttonFont.Name = "buttonFont";
this.buttonFont.Size = new System.Drawing.Size(63, 23);
this.buttonFont.TabIndex = 0;
this.buttonFont.Text = "Font, Size";
this.buttonFont.UseVisualStyleBackColor = true;
this.buttonFont.Click += new System.EventHandler(this.buttonFont_Click);
//
// groupBoxSound
//
this.groupBoxSound.Controls.Add(this.checkBoxSound);
this.groupBoxSound.Location = new System.Drawing.Point(481, 98);
this.groupBoxSound.Name = "groupBoxSound";
this.groupBoxSound.Size = new System.Drawing.Size(180, 42);
this.groupBoxSound.TabIndex = 6;
this.groupBoxSound.TabStop = false;
this.groupBoxSound.Text = "Sound";
//
// checkBoxSound
//
this.checkBoxSound.AutoSize = true;
this.checkBoxSound.Location = new System.Drawing.Point(6, 19);
this.checkBoxSound.Name = "checkBoxSound";
this.checkBoxSound.Size = new System.Drawing.Size(104, 17);
this.checkBoxSound.TabIndex = 0;
this.checkBoxSound.Text = "Play Alert Sound";
this.checkBoxSound.UseVisualStyleBackColor = true;
//
// groupBoxTimeOut
//
this.groupBoxTimeOut.Controls.Add(this.comboBoxResult);
this.groupBoxTimeOut.Controls.Add(this.labelTimeoutResult);
this.groupBoxTimeOut.Controls.Add(this.textBoxTimeout);
this.groupBoxTimeOut.Controls.Add(this.labelTimeout);
this.groupBoxTimeOut.Location = new System.Drawing.Point(481, 19);
this.groupBoxTimeOut.Name = "groupBoxTimeOut";
this.groupBoxTimeOut.Size = new System.Drawing.Size(180, 73);
this.groupBoxTimeOut.TabIndex = 5;
this.groupBoxTimeOut.TabStop = false;
this.groupBoxTimeOut.Text = "Timeout";
//
// comboBoxResult
//
this.comboBoxResult.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxResult.FormattingEnabled = true;
this.comboBoxResult.Items.AddRange(new object[] {
"Default",
"Cancel",
"Timeout"});
this.comboBoxResult.Location = new System.Drawing.Point(53, 46);
this.comboBoxResult.Name = "comboBoxResult";
this.comboBoxResult.Size = new System.Drawing.Size(121, 21);
this.comboBoxResult.TabIndex = 3;
//
// labelTimeoutResult
//
this.labelTimeoutResult.AutoSize = true;
this.labelTimeoutResult.Location = new System.Drawing.Point(6, 49);
this.labelTimeoutResult.Name = "labelTimeoutResult";
this.labelTimeoutResult.Size = new System.Drawing.Size(37, 13);
this.labelTimeoutResult.TabIndex = 2;
this.labelTimeoutResult.Text = "Result";
//
// textBoxTimeout
//
this.textBoxTimeout.Location = new System.Drawing.Point(7, 20);
this.textBoxTimeout.Name = "textBoxTimeout";
this.textBoxTimeout.Size = new System.Drawing.Size(141, 20);
this.textBoxTimeout.TabIndex = 1;
this.textBoxTimeout.Text = "0";
//
// labelTimeout
//
this.labelTimeout.AutoSize = true;
this.labelTimeout.Location = new System.Drawing.Point(154, 23);
this.labelTimeout.Name = "labelTimeout";
this.labelTimeout.Size = new System.Drawing.Size(20, 13);
this.labelTimeout.TabIndex = 0;
this.labelTimeout.Text = "ms";
//
// groupBoxIcons
//
this.groupBoxIcons.Controls.Add(this.buttonName);
this.groupBoxIcons.Controls.Add(this.pictureBox4);
this.groupBoxIcons.Controls.Add(this.pictureBox3);
this.groupBoxIcons.Controls.Add(this.pictureBox2);
this.groupBoxIcons.Controls.Add(this.pictureBox1);
this.groupBoxIcons.Controls.Add(this.textBoxIconName);
this.groupBoxIcons.Controls.Add(this.radioButtonUserDefinedIcon);
this.groupBoxIcons.Controls.Add(this.radioButtonNone);
this.groupBoxIcons.Controls.Add(this.radioButtonQuestion);
this.groupBoxIcons.Controls.Add(this.radioButtonHand);
this.groupBoxIcons.Controls.Add(this.radioButtonExclamation);
this.groupBoxIcons.Controls.Add(this.radioButtonAsterisk);
this.groupBoxIcons.Location = new System.Drawing.Point(6, 202);
this.groupBoxIcons.Name = "groupBoxIcons";
this.groupBoxIcons.Size = new System.Drawing.Size(229, 231);
this.groupBoxIcons.TabIndex = 3;
this.groupBoxIcons.TabStop = false;
this.groupBoxIcons.Text = "Icon";
//
// buttonName
//
this.buttonName.Enabled = false;
this.buttonName.Location = new System.Drawing.Point(6, 202);
this.buttonName.Name = "buttonName";
this.buttonName.Size = new System.Drawing.Size(75, 23);
this.buttonName.TabIndex = 12;
this.buttonName.Text = "File Name";
this.buttonName.UseVisualStyleBackColor = true;
this.buttonName.Click += new System.EventHandler(this.buttonName_Click);
//
// pictureBox4
//
this.pictureBox4.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox4.Image")));
this.pictureBox4.Location = new System.Drawing.Point(191, 139);
this.pictureBox4.Name = "pictureBox4";
this.pictureBox4.Size = new System.Drawing.Size(32, 32);
this.pictureBox4.TabIndex = 11;
this.pictureBox4.TabStop = false;
//
// pictureBox3
//
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image")));
this.pictureBox3.Location = new System.Drawing.Point(191, 106);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(32, 32);
this.pictureBox3.TabIndex = 10;
this.pictureBox3.TabStop = false;
//
// pictureBox2
//
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(191, 76);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(32, 32);
this.pictureBox2.TabIndex = 9;
this.pictureBox2.TabStop = false;
//
// pictureBox1
//
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(191, 44);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(32, 32);
this.pictureBox1.TabIndex = 8;
this.pictureBox1.TabStop = false;
//
// textBoxIconName
//
this.textBoxIconName.Enabled = false;
this.textBoxIconName.Location = new System.Drawing.Point(87, 204);
this.textBoxIconName.Name = "textBoxIconName";
this.textBoxIconName.Size = new System.Drawing.Size(136, 20);
this.textBoxIconName.TabIndex = 6;
this.textBoxIconName.Text = "<Path and File Name>";
this.textBoxIconName.TextChanged += new System.EventHandler(this.textBoxIconName_TextChanged);
//
// radioButtonUserDefinedIcon
//
this.radioButtonUserDefinedIcon.AutoSize = true;
this.radioButtonUserDefinedIcon.Location = new System.Drawing.Point(6, 179);
this.radioButtonUserDefinedIcon.Name = "radioButtonUserDefinedIcon";
this.radioButtonUserDefinedIcon.Size = new System.Drawing.Size(109, 17);
this.radioButtonUserDefinedIcon.TabIndex = 5;
this.radioButtonUserDefinedIcon.Text = "User defined Icon";
this.radioButtonUserDefinedIcon.UseVisualStyleBackColor = true;
this.radioButtonUserDefinedIcon.CheckedChanged += new System.EventHandler(this.radioButtonUserDefinedIcon_CheckedChanged);
//
// radioButtonNone
//
this.radioButtonNone.AutoSize = true;
this.radioButtonNone.Checked = true;
this.radioButtonNone.Location = new System.Drawing.Point(6, 19);
this.radioButtonNone.Name = "radioButtonNone";
this.radioButtonNone.Size = new System.Drawing.Size(51, 17);
this.radioButtonNone.TabIndex = 4;
this.radioButtonNone.TabStop = true;
this.radioButtonNone.Text = "None";
this.radioButtonNone.UseVisualStyleBackColor = true;
this.radioButtonNone.CheckedChanged += new System.EventHandler(this.radioButtonNone_CheckedChanged);
//
// radioButtonQuestion
//
this.radioButtonQuestion.AutoSize = true;
this.radioButtonQuestion.Location = new System.Drawing.Point(6, 147);
this.radioButtonQuestion.Name = "radioButtonQuestion";
this.radioButtonQuestion.Size = new System.Drawing.Size(67, 17);
this.radioButtonQuestion.TabIndex = 3;
this.radioButtonQuestion.Text = "Question";
this.radioButtonQuestion.UseVisualStyleBackColor = true;
this.radioButtonQuestion.CheckedChanged += new System.EventHandler(this.radioButtonQuestion_CheckedChanged);
//
// radioButtonHand
//
this.radioButtonHand.AutoSize = true;
this.radioButtonHand.Location = new System.Drawing.Point(6, 115);
this.radioButtonHand.Name = "radioButtonHand";
this.radioButtonHand.Size = new System.Drawing.Size(105, 17);
this.radioButtonHand.TabIndex = 2;
this.radioButtonHand.Text = "Hand/Error/Stop";
this.radioButtonHand.UseVisualStyleBackColor = true;
this.radioButtonHand.CheckedChanged += new System.EventHandler(this.radioButtonHand_CheckedChanged);
//
// radioButtonExclamation
//
this.radioButtonExclamation.AutoSize = true;
this.radioButtonExclamation.Location = new System.Drawing.Point(6, 83);
this.radioButtonExclamation.Name = "radioButtonExclamation";
this.radioButtonExclamation.Size = new System.Drawing.Size(127, 17);
this.radioButtonExclamation.TabIndex = 1;
this.radioButtonExclamation.Text = "Exclamation/Warning";
this.radioButtonExclamation.UseVisualStyleBackColor = true;
this.radioButtonExclamation.CheckedChanged += new System.EventHandler(this.radioButtonExclamation_CheckedChanged);
//
// radioButtonAsterisk
//
this.radioButtonAsterisk.AutoSize = true;
this.radioButtonAsterisk.Location = new System.Drawing.Point(6, 51);
this.radioButtonAsterisk.Name = "radioButtonAsterisk";
this.radioButtonAsterisk.Size = new System.Drawing.Size(119, 17);
this.radioButtonAsterisk.TabIndex = 0;
this.radioButtonAsterisk.Text = "Asterisk/Information";
this.radioButtonAsterisk.UseVisualStyleBackColor = true;
this.radioButtonAsterisk.CheckedChanged += new System.EventHandler(this.radioButtonAsterisk_CheckedChanged);
//
// groupBoxSaveOptions
//
this.groupBoxSaveOptions.Controls.Add(this.checkBoxUseSaveResponse);
this.groupBoxSaveOptions.Controls.Add(this.textBoxSaveResponse);
this.groupBoxSaveOptions.Controls.Add(this.checkBoxAllowSaveResponse);
this.groupBoxSaveOptions.Location = new System.Drawing.Point(326, 19);
this.groupBoxSaveOptions.Name = "groupBoxSaveOptions";
this.groupBoxSaveOptions.Size = new System.Drawing.Size(149, 177);
this.groupBoxSaveOptions.TabIndex = 4;
this.groupBoxSaveOptions.TabStop = false;
this.groupBoxSaveOptions.Text = "Save Options";
//
// checkBoxUseSaveResponse
//
this.checkBoxUseSaveResponse.AutoSize = true;
this.checkBoxUseSaveResponse.Location = new System.Drawing.Point(7, 153);
this.checkBoxUseSaveResponse.Name = "checkBoxUseSaveResponse";
this.checkBoxUseSaveResponse.Size = new System.Drawing.Size(124, 17);
this.checkBoxUseSaveResponse.TabIndex = 2;
this.checkBoxUseSaveResponse.Text = "Use Save Response";
this.checkBoxUseSaveResponse.UseVisualStyleBackColor = true;
//
// textBoxSaveResponse
//
this.textBoxSaveResponse.Location = new System.Drawing.Point(7, 42);
this.textBoxSaveResponse.Multiline = true;
this.textBoxSaveResponse.Name = "textBoxSaveResponse";
this.textBoxSaveResponse.Size = new System.Drawing.Size(136, 105);
this.textBoxSaveResponse.TabIndex = 1;
this.textBoxSaveResponse.Text = "<Save Response Text>";
//
// checkBoxAllowSaveResponse
//
this.checkBoxAllowSaveResponse.AutoSize = true;
this.checkBoxAllowSaveResponse.Location = new System.Drawing.Point(6, 18);
this.checkBoxAllowSaveResponse.Name = "checkBoxAllowSaveResponse";
this.checkBoxAllowSaveResponse.Size = new System.Drawing.Size(136, 17);
this.checkBoxAllowSaveResponse.TabIndex = 0;
this.checkBoxAllowSaveResponse.Text = "Allowe Save Response";
this.checkBoxAllowSaveResponse.UseVisualStyleBackColor = true;
//
// groupBoxButton
//
this.groupBoxButton.Controls.Add(this.listViewButtons);
this.groupBoxButton.Controls.Add(this.buttonAddButton);
this.groupBoxButton.Controls.Add(this.groupBoxUserDefinedButton);
this.groupBoxButton.Location = new System.Drawing.Point(242, 202);
this.groupBoxButton.Name = "groupBoxButton";
this.groupBoxButton.Size = new System.Drawing.Size(419, 231);
this.groupBoxButton.TabIndex = 2;
this.groupBoxButton.TabStop = false;
this.groupBoxButton.Text = "Button";
//
// listViewButtons
//
this.listViewButtons.CheckBoxes = true;
this.listViewButtons.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1});
this.listViewButtons.HideSelection = false;
listViewItem29.StateImageIndex = 0;
listViewItem30.StateImageIndex = 0;
listViewItem31.StateImageIndex = 0;
listViewItem32.StateImageIndex = 0;
listViewItem33.StateImageIndex = 0;
listViewItem34.StateImageIndex = 0;
listViewItem35.StateImageIndex = 0;
this.listViewButtons.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
listViewItem29,
listViewItem30,
listViewItem31,
listViewItem32,
listViewItem33,
listViewItem34,
listViewItem35});
this.listViewButtons.Location = new System.Drawing.Point(278, 20);
this.listViewButtons.Name = "listViewButtons";
this.listViewButtons.Size = new System.Drawing.Size(136, 206);
this.listViewButtons.TabIndex = 3;
this.listViewButtons.UseCompatibleStateImageBehavior = false;
this.listViewButtons.View = System.Windows.Forms.View.Details;
//
// columnHeader1
//
this.columnHeader1.Text = "Buttons";
this.columnHeader1.Width = 132;
//
// buttonAddButton
//
this.buttonAddButton.Location = new System.Drawing.Point(186, 69);
this.buttonAddButton.Name = "buttonAddButton";
this.buttonAddButton.Size = new System.Drawing.Size(85, 23);
this.buttonAddButton.TabIndex = 2;
this.buttonAddButton.Text = "Add Button >>";
this.buttonAddButton.UseVisualStyleBackColor = true;
this.buttonAddButton.Click += new System.EventHandler(this.buttonAddButton_Click);
//
// groupBoxUserDefinedButton
//
this.groupBoxUserDefinedButton.Controls.Add(this.checkBoxIsCancel);
this.groupBoxUserDefinedButton.Controls.Add(this.textBoxButtonHelpText);
this.groupBoxUserDefinedButton.Controls.Add(this.textBoxButtonValue);
this.groupBoxUserDefinedButton.Controls.Add(this.textBoxButtonText);
this.groupBoxUserDefinedButton.Controls.Add(this.labelButtonHelpText);
this.groupBoxUserDefinedButton.Controls.Add(this.labelButtonValue);
this.groupBoxUserDefinedButton.Controls.Add(this.labelButtonText);
this.groupBoxUserDefinedButton.Location = new System.Drawing.Point(6, 19);
this.groupBoxUserDefinedButton.Name = "groupBoxUserDefinedButton";
this.groupBoxUserDefinedButton.Size = new System.Drawing.Size(173, 124);
this.groupBoxUserDefinedButton.TabIndex = 1;
this.groupBoxUserDefinedButton.TabStop = false;
this.groupBoxUserDefinedButton.Text = "User defined Button";
//
// checkBoxIsCancel
//
this.checkBoxIsCancel.AutoSize = true;
this.checkBoxIsCancel.Location = new System.Drawing.Point(67, 101);
this.checkBoxIsCancel.Name = "checkBoxIsCancel";
this.checkBoxIsCancel.Size = new System.Drawing.Size(70, 17);
this.checkBoxIsCancel.TabIndex = 6;
this.checkBoxIsCancel.Text = "Is Cancel";
this.checkBoxIsCancel.UseVisualStyleBackColor = true;
//
// textBoxButtonHelpText
//
this.textBoxButtonHelpText.Location = new System.Drawing.Point(67, 73);
this.textBoxButtonHelpText.Name = "textBoxButtonHelpText";
this.textBoxButtonHelpText.Size = new System.Drawing.Size(100, 20);
this.textBoxButtonHelpText.TabIndex = 5;
this.textBoxButtonHelpText.Text = "<Help Text>";
//
// textBoxButtonValue
//
this.textBoxButtonValue.Location = new System.Drawing.Point(67, 47);
this.textBoxButtonValue.Name = "textBoxButtonValue";
this.textBoxButtonValue.Size = new System.Drawing.Size(100, 20);
this.textBoxButtonValue.TabIndex = 4;
this.textBoxButtonValue.Text = "<Button Value>";
//
// textBoxButtonText
//
this.textBoxButtonText.Location = new System.Drawing.Point(67, 20);
this.textBoxButtonText.Name = "textBoxButtonText";
this.textBoxButtonText.Size = new System.Drawing.Size(100, 20);
this.textBoxButtonText.TabIndex = 3;
this.textBoxButtonText.Text = "<Button Text>";
//
// labelButtonHelpText
//
this.labelButtonHelpText.AutoSize = true;
this.labelButtonHelpText.Location = new System.Drawing.Point(6, 77);
this.labelButtonHelpText.Name = "labelButtonHelpText";
this.labelButtonHelpText.Size = new System.Drawing.Size(53, 13);
this.labelButtonHelpText.TabIndex = 2;
this.labelButtonHelpText.Text = "Help Text";
//
// labelButtonValue
//
this.labelButtonValue.AutoSize = true;
this.labelButtonValue.Location = new System.Drawing.Point(6, 50);
this.labelButtonValue.Name = "labelButtonValue";
this.labelButtonValue.Size = new System.Drawing.Size(34, 13);
this.labelButtonValue.TabIndex = 1;
this.labelButtonValue.Text = "Value";
//
// labelButtonText
//
this.labelButtonText.AutoSize = true;
this.labelButtonText.Location = new System.Drawing.Point(5, 23);
this.labelButtonText.Name = "labelButtonText";
this.labelButtonText.Size = new System.Drawing.Size(28, 13);
this.labelButtonText.TabIndex = 0;
this.labelButtonText.Text = "Text";
//
// groupBoxCode
//
this.groupBoxCode.Controls.Add(this.textBoxCode);
this.groupBoxCode.Controls.Add(this.buttonCopyToClipboard);
this.groupBoxCode.Controls.Add(this.buttonGenerateCode);
this.groupBoxCode.Location = new System.Drawing.Point(12, 458);
this.groupBoxCode.Name = "groupBoxCode";
this.groupBoxCode.Size = new System.Drawing.Size(667, 199);
this.groupBoxCode.TabIndex = 2;
this.groupBoxCode.TabStop = false;
this.groupBoxCode.Text = "Code";
//
// textBoxCode
//
this.textBoxCode.Location = new System.Drawing.Point(78, 20);
this.textBoxCode.Multiline = true;
this.textBoxCode.Name = "textBoxCode";
this.textBoxCode.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.textBoxCode.Size = new System.Drawing.Size(515, 173);
this.textBoxCode.TabIndex = 2;
//
// buttonCopyToClipboard
//
this.buttonCopyToClipboard.Location = new System.Drawing.Point(599, 158);
this.buttonCopyToClipboard.Name = "buttonCopyToClipboard";
this.buttonCopyToClipboard.Size = new System.Drawing.Size(62, 35);
this.buttonCopyToClipboard.TabIndex = 1;
this.buttonCopyToClipboard.Text = "Copy To Clipboard";
this.buttonCopyToClipboard.UseVisualStyleBackColor = true;
this.buttonCopyToClipboard.Click += new System.EventHandler(this.buttonCopyToClipboard_Click);
//
// buttonGenerateCode
//
this.buttonGenerateCode.Location = new System.Drawing.Point(7, 20);
this.buttonGenerateCode.Name = "buttonGenerateCode";
this.buttonGenerateCode.Size = new System.Drawing.Size(65, 35);
this.buttonGenerateCode.TabIndex = 0;
this.buttonGenerateCode.Text = "Generate Code";
this.buttonGenerateCode.UseVisualStyleBackColor = true;
this.buttonGenerateCode.Click += new System.EventHandler(this.buttonGenerateCode_Click);
//
// openFileDialogName
//
this.openFileDialogName.DefaultExt = "ico";
this.openFileDialogName.FileName = "openFileDialogName";
this.openFileDialogName.Filter = "Icon|*.ico|All Files|*.*";
this.openFileDialogName.InitialDirectory = "H:\\Programmieren\\Git-Repository\\VisualStudio\\2017";
this.openFileDialogName.RestoreDirectory = true;
this.openFileDialogName.Title = "Browse Icon Files";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(692, 669);
this.Controls.Add(this.groupBoxCode);
this.Controls.Add(this.groupBox1);
this.Name = "Form1";
this.Text = "Message Box Configurator";
this.Load += new System.EventHandler(this.Form1_Load);
this.groupBoxMsgBox.ResumeLayout(false);
this.groupBoxMsgBox.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBoxFont.ResumeLayout(false);
this.groupBoxFont.PerformLayout();
this.groupBoxSound.ResumeLayout(false);
this.groupBoxSound.PerformLayout();
this.groupBoxTimeOut.ResumeLayout(false);
this.groupBoxTimeOut.PerformLayout();
this.groupBoxIcons.ResumeLayout(false);
this.groupBoxIcons.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.groupBoxSaveOptions.ResumeLayout(false);
this.groupBoxSaveOptions.PerformLayout();
this.groupBoxButton.ResumeLayout(false);
this.groupBoxUserDefinedButton.ResumeLayout(false);
this.groupBoxUserDefinedButton.PerformLayout();
this.groupBoxCode.ResumeLayout(false);
this.groupBoxCode.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBoxMsgBox;
private System.Windows.Forms.TextBox textBoxMessage;
private System.Windows.Forms.TextBox textBoxCaption;
private System.Windows.Forms.TextBox textBoxName;
private System.Windows.Forms.Label labelMessage;
private System.Windows.Forms.Label labelCaption;
private System.Windows.Forms.Label labelName;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBoxUserDefinedButton;
private System.Windows.Forms.CheckBox checkBoxIsCancel;
private System.Windows.Forms.TextBox textBoxButtonHelpText;
private System.Windows.Forms.TextBox textBoxButtonValue;
private System.Windows.Forms.TextBox textBoxButtonText;
private System.Windows.Forms.Label labelButtonHelpText;
private System.Windows.Forms.Label labelButtonValue;
private System.Windows.Forms.Label labelButtonText;
private System.Windows.Forms.GroupBox groupBoxButton;
private System.Windows.Forms.Button buttonAddButton;
private System.Windows.Forms.ListView listViewButtons;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.GroupBox groupBoxIcons;
private System.Windows.Forms.TextBox textBoxIconName;
private System.Windows.Forms.RadioButton radioButtonUserDefinedIcon;
private System.Windows.Forms.RadioButton radioButtonNone;
private System.Windows.Forms.RadioButton radioButtonQuestion;
private System.Windows.Forms.RadioButton radioButtonHand;
private System.Windows.Forms.RadioButton radioButtonExclamation;
private System.Windows.Forms.RadioButton radioButtonAsterisk;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.PictureBox pictureBox4;
private System.Windows.Forms.PictureBox pictureBox3;
private System.Windows.Forms.GroupBox groupBoxSaveOptions;
private System.Windows.Forms.TextBox textBoxSaveResponse;
private System.Windows.Forms.CheckBox checkBoxAllowSaveResponse;
private System.Windows.Forms.GroupBox groupBoxTimeOut;
private System.Windows.Forms.ComboBox comboBoxResult;
private System.Windows.Forms.Label labelTimeoutResult;
private System.Windows.Forms.TextBox textBoxTimeout;
private System.Windows.Forms.Label labelTimeout;
private System.Windows.Forms.CheckBox checkBoxUseSaveResponse;
private System.Windows.Forms.GroupBox groupBoxSound;
private System.Windows.Forms.CheckBox checkBoxSound;
private System.Windows.Forms.GroupBox groupBoxCode;
private System.Windows.Forms.TextBox textBoxCode;
private System.Windows.Forms.Button buttonCopyToClipboard;
private System.Windows.Forms.Button buttonGenerateCode;
private System.Windows.Forms.GroupBox groupBoxFont;
private System.Windows.Forms.Button buttonName;
private System.Windows.Forms.OpenFileDialog openFileDialogName;
private System.Windows.Forms.TextBox textBoxFont;
private System.Windows.Forms.Button buttonFont;
private System.Windows.Forms.FontDialog fontDialog;
}
}

View File

@ -0,0 +1,308 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MessageBoxConfigurator
{
public partial class Form1 : Form
{
#region Version und Copyright
// Version und Copyright
string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
string copyright = GenerateCopyright();
string icon = Application.StartupPath + "\\Info.bmp";
//Assembly Datum und Zeit
static DateTime value = AssemblyDateTime();
string date = value.ToShortDateString();
string time = value.ToLongTimeString();
private static DateTime AssemblyDateTime()
{
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
}
private static string CurrentYear()
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
private static string StartYear()
{
//string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
//return startYear.Remove(0, startYear.LastIndexOf(" ") + 1);
string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" "))
{
startYear = startYear.Remove(0, 1);
}
startYear = startYear.Remove(startYear.IndexOf(" "));
return startYear;
}
else
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
}
private static string GenerateCopyright()
{
string startYear = StartYear();
string currentYear = CurrentYear();
if (startYear == currentYear)
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
else
{
//return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear);
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
}
}
#endregion
#region Programm-Info
/// <summary>
/// Contains the name of the program file
/// </summary>
public static string ProgramName { set; get; }
/// <summary>
/// Contains the version of the program file
/// </summary>
public static string ProgramVersion { set; get; }
/// <summary>
/// Contains the copyright notice
/// </summary>
public static string Copyright { set; get; }
private void SetProgramInfo()
{
//Name, Version und Copyright setzen
ProgramName = programName;
ProgramVersion = programVersion;
Copyright = copyright;
}
#endregion
public Form1()
{
InitializeComponent();
SetProgramInfo(); //Name, Version und Copyright setzen
this.Text = String.Concat(ProgramName, " - V", ProgramVersion, " - ", Copyright);
}
private void Form1_Load(object sender, EventArgs e)
{
comboBoxResult.SelectedIndex = 0;
SelectedIcon = "None";
IntializeButtons();
}
List<MessageBoxExButton> buttons = new List<MessageBoxExButton>();
private void IntializeButtons()
{
IntializeButton("OK", "OK", "", false);
IntializeButton("Cancel", "Cancel", "", false);
IntializeButton("Yes", "Yes", "", false);
IntializeButton("No", "No", "", false);
IntializeButton("Abort", "Abort", "", false);
IntializeButton("Retry", "Retry", "", false);
IntializeButton("Ignore", "Ignore", "", false);
}
private void IntializeButton(string text, string value, string helpText, bool isCancelButton)
{
MessageBoxExButton button = new MessageBoxExButton();
button.Text = text;
button.Value = value;
button.HelpText = helpText;
button.IsCancelButton = isCancelButton;
buttons.Add(button);
}
#region MessageBox
//
#endregion
#region SaveOptions
//
#endregion
#region Timeout
//
#endregion
#region Sound
//
#endregion
#region Font
private void buttonFont_Click(object sender, EventArgs e)
{
if (fontDialog.ShowDialog() == DialogResult.OK)
{
textBoxFont.Text = "\"" + fontDialog.Font.Name + "\", " + fontDialog.Font.Size.ToString().Replace(",", ".");
}
}
#endregion
#region Icon
private string SelectedIcon { set; get; }
private void radioButtonNone_CheckedChanged(object sender, EventArgs e)
{
SelectedIcon = "None";
}
private void radioButtonAsterisk_CheckedChanged(object sender, EventArgs e)
{
SelectedIcon = "Asterisk";
}
private void radioButtonExclamation_CheckedChanged(object sender, EventArgs e)
{
SelectedIcon = "Exclamation";
}
private void radioButtonHand_CheckedChanged(object sender, EventArgs e)
{
SelectedIcon = "Hand";
}
private void radioButtonQuestion_CheckedChanged(object sender, EventArgs e)
{
SelectedIcon = "Question";
}
private void radioButtonUserDefinedIcon_CheckedChanged(object sender, EventArgs e)
{
//radioButtonUserDefinedIcon.Checked =! radioButtonUserDefinedIcon.Checked;
buttonName.Enabled =! buttonName.Enabled;
textBoxIconName.Enabled =!textBoxIconName.Enabled;
}
private void buttonName_Click(object sender, EventArgs e)
{
if (openFileDialogName.ShowDialog() == DialogResult.OK)
{
textBoxIconName.Text = openFileDialogName.FileName;
}
}
private void textBoxIconName_TextChanged(object sender, EventArgs e)
{
}
#endregion
#region Button
private void buttonAddButton_Click(object sender, EventArgs e)
{
MessageBoxExButton button = new MessageBoxExButton();
button.Text = textBoxButtonText.Text;
button.Value = textBoxButtonValue.Text;
button.HelpText = textBoxButtonHelpText.Text;
button.IsCancelButton = checkBoxIsCancel.Checked;
ListViewItem item = new ListViewItem();
item.Text = button.Text;
item.Tag = button;
listViewButtons.Items.Add(item);
buttons.Add(button); //Add button to button list
}
#endregion
#region Code
private void buttonGenerateCode_Click(object sender, EventArgs e)
{
if (textBoxName.Text == "<Name>" || textBoxCaption.Text == "<Caption>" || textBoxMessage.Text == "<Text>")
{
MessageBox.Show("Please define MessageBox Values first!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
string code = String.Concat("private string OwnMessageBox()", "\r\n{"); //Method body
code = String.Concat(code, "\r\n\tMessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox(\"", textBoxName.Text, "\"); //ATTENTION: Name must be unique"); //Name
code = String.Concat(code, "\r\n\t", "msgBox.Caption = \"", textBoxCaption.Text, "\";"); //Caption
code = String.Concat(code, "\r\n\t", "msgBox.Text = \"", textBoxMessage.Text, "\";"); //Message
code = String.Concat(code, "\r\n\t", "msgBox.AllowSaveResponse = ", checkBoxAllowSaveResponse.Checked.ToString().ToLower(), ";"); //Allowe Save Response
code = String.Concat(code, "\r\n\t", "msgBox.SaveResponseText = \"", textBoxSaveResponse.Text, "\";"); //Save Response Text
code = String.Concat(code, "\r\n\t", "msgBox.UseSavedResponse = ", checkBoxUseSaveResponse.Checked.ToString().ToLower(), ";"); //Use Save Response
code = String.Concat(code, "\r\n\t", "msgBox.Timeout = ", textBoxTimeout.Text, ";"); //Timeout Text
code = String.Concat(code, "\r\n\t", "msgBox.TimeoutResult = ", comboBoxResult.SelectedItem.ToString().ToLower(), ";"); //Timeout Result
code = String.Concat(code, "\r\n\t", "msgBox.PlayAlsertSound = ", checkBoxSound.Checked.ToString().ToLower(), ";"); //Play Alert Sound
code = String.Concat(code, "\r\n\t", "msgBox.Font = new Font(", textBoxFont.Text, ");"); //Font
//Icon
if (radioButtonUserDefinedIcon.Checked)
{
code = String.Concat(code, "\r\n\t", "//Use a customer icon");
code = String.Concat(code, "\r\n\t", "using (var bmp = Bitmap.FromFile(@\"", textBoxIconName.Text, "\") as Bitmap)");
code = String.Concat(code, "\r\n\t\t", "Icon = Icon.FromHandle(bmp.GetHicon());");
code = String.Concat(code, "\r\n\t", "msgBox.CustomIcon = Icon;");
}
else
{
code = String.Concat(code, "\r\n\t", "//Use a standard icon");
code = String.Concat(code, "\r\n\t", "msgBox.Icon = MessageBoxExIcon.", SelectedIcon, ";");
}
//Button
if (listViewButtons.CheckedItems.Count > 0)
{
foreach (ListViewItem item in listViewButtons.Items)
{
if (item.Checked)
{
code = String.Concat(code, "\r\n\t", "MessageBoxExButton btn", buttons[item.Index].Text, " = new MessageBoxExButton();");
code = String.Concat(code, "\r\n\t", "btn", buttons[item.Index].Text, ".Text = \"", buttons[item.Index].Text, "\";");
code = String.Concat(code, "\r\n\t", "btn", buttons[item.Index].Text, ".Value = \"", buttons[item.Index].Value, "\";");
code = String.Concat(code, "\r\n\t", "btn", buttons[item.Index].Text, ".HelpText = \"", buttons[item.Index].HelpText, "\";");
code = String.Concat(code, "\r\n\t", "btn", buttons[item.Index].Text, ".IsCancelButton = ", buttons[item.Index].IsCancelButton.ToString().ToLower(), ";");
code = String.Concat(code, "\r\n\t", "msgBox.AddButton(", "btn", buttons[item.Index].Text, ");");
}
}
}
code = String.Concat(code, "\r\n\t", "return msgBox.Show(); //Returns the result");
code = String.Concat(code, "\r\n}"); //Methode end
textBoxCode.Text = code; //Show text
}
}
private void buttonCopyToClipboard_Click(object sender, EventArgs e)
{
Clipboard.Clear(); //Clear if any old value is there in Clipboard
Clipboard.SetText(textBoxCode.Text); //Copy text to Clipboard
}
#endregion
}
}

View File

@ -0,0 +1,307 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox4.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="pictureBox3.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="pictureBox2.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="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<metadata name="openFileDialogName.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="fontDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>183, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>79</value>
</metadata>
</root>

View File

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{BDEF90AC-086D-49A1-8E56-51EF74EBAB4A}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>MessageBoxConfigurator</RootNamespace>
<AssemblyName>MessageBoxConfigurator</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>false</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="MessageBoxExButton.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,52 @@
using System;
namespace MessageBoxConfigurator
{
/// <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; }
}
}
}

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MessageBoxConfigurator
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("MessageBoxConfigurator")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MessageBoxConfigurator")]
[assembly: AssemblyCopyright("Copyright © 2020 by Eugen Höglinger")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("bdef90ac-086d-49a1-8e56-51ef74ebab4a")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion: 4.0.30319.42000
//
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
// der Code neu generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace MessageBoxConfigurator.Properties
{
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder-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 Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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 ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MessageBoxConfigurator.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenlookups, 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;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?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.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="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</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="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" 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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace MessageBoxConfigurator.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@ -0,0 +1 @@
f8f7d440a77096160c62b81fb43d5b350efa2a8b

View File

@ -0,0 +1,10 @@
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\bin\Debug\MessageBoxConfigurator.exe.config
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\bin\Debug\MessageBoxConfigurator.exe
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\bin\Debug\MessageBoxConfigurator.pdb
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\obj\Debug\MessageBoxConfigurator.csprojAssemblyReference.cache
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\obj\Debug\MessageBoxConfigurator.Form1.resources
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\obj\Debug\MessageBoxConfigurator.Properties.Resources.resources
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\obj\Debug\MessageBoxConfigurator.csproj.GenerateResource.cache
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\obj\Debug\MessageBoxConfigurator.csproj.CoreCompileInputs.cache
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\obj\Debug\MessageBoxConfigurator.exe
H:\Programmieren\Git-Repository\VisualStudio\2017\_PROJEKTE\MessageBoxConfigurator.git\MessageBoxConfigurator\obj\Debug\MessageBoxConfigurator.pdb

37
MessageBoxExLib.git.sln Normal file
View File

@ -0,0 +1,37 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30413.136
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessageBoxExLib", "MessageBoxExLib\MessageBoxExLib.csproj", "{4847D05C-EB58-49D9-B280-D22F8FF01857}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_MessageBoxExLib", "Test_MessageBoxExLib\Test_MessageBoxExLib.csproj", "{D94C977C-CFE3-4792-8D13-24DC5C750587}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessageBoxConfigurator", "MessageBoxConfigurator\MessageBoxConfigurator.csproj", "{BDEF90AC-086D-49A1-8E56-51EF74EBAB4A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{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
{D94C977C-CFE3-4792-8D13-24DC5C750587}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D94C977C-CFE3-4792-8D13-24DC5C750587}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D94C977C-CFE3-4792-8D13-24DC5C750587}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D94C977C-CFE3-4792-8D13-24DC5C750587}.Release|Any CPU.Build.0 = Release|Any CPU
{BDEF90AC-086D-49A1-8E56-51EF74EBAB4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BDEF90AC-086D-49A1-8E56-51EF74EBAB4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BDEF90AC-086D-49A1-8E56-51EF74EBAB4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BDEF90AC-086D-49A1-8E56-51EF74EBAB4A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3B3F7327-806A-48B2-B2A2-46C50FEC891F}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,383 @@
using System;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
namespace Eugen.ESystem.Windows.Forms
{
/// <summary>
/// An extended MessageBox with lot of customizing capabilities.
/// </summary>
public class MessageBoxEx
{
#region Version und Copyright
// Version und Copyright
static string dllName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
static string dllVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
static string copyright = GenerateCopyright();
string icon = Application.StartupPath + "\\Info.bmp";
//Assembly Datum und Zeit
static DateTime value = AssemblyDateTime();
string date = value.ToShortDateString();
string time = value.ToLongTimeString();
private static DateTime AssemblyDateTime()
{
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
}
private static string CurrentYear()
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
private static string StartYear()
{
string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" "))
{
startYear = startYear.Remove(0, 1);
}
startYear = startYear.Remove(startYear.IndexOf(" "));
return startYear;
}
else
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
}
private static string GenerateCopyright()
{
string startYear = StartYear();
string currentYear = CurrentYear();
if (startYear == currentYear)
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
else
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
}
}
#endregion
#region DLL-Info
/// <summary>
/// Contains the name of the program file
/// </summary>
public static string DllName { set; get; }
/// <summary>
/// Contains the version of the program file
/// </summary>
public static string DllVersion { set; get; }
/// <summary>
/// Contains the copyright notice
/// </summary>
public static string Copyright { set; get; }
private static void SetDllInfo()
{
//Name, Version und Copyright setzen
DllName = dllName;
DllVersion = dllVersion;
Copyright = copyright;
}
#endregion
#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()
{
SetDllInfo();
}
/// <summary>
/// Called by the manager when it is disposed
/// </summary>
internal void Dispose()
{
if(_msgBox != null)
{
_msgBox.Dispose();
}
}
#endregion
}
}

View File

@ -0,0 +1,52 @@
using System;
namespace Eugen.ESystem.Windows.Forms
{
/// <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; }
}
}
}

View File

@ -0,0 +1,18 @@
using System;
namespace Eugen.ESystem.Windows.Forms
{
/// <summary>
/// Standard MessageBoxEx buttons
/// </summary>
public enum MessageBoxExButtons
{
Ok = 0,
Cancel = 1,
Yes = 2,
No = 4,
Abort = 8,
Retry = 16,
Ignore = 32
}
}

View File

@ -0,0 +1,929 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace Eugen.ESystem.Windows.Forms
{
/// <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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(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
//
resources.ApplyResources(this.panelIcon, "panelIcon");
this.panelIcon.BackColor = System.Drawing.Color.Transparent;
this.panelIcon.Name = "panelIcon";
this.buttonToolTip.SetToolTip(this.panelIcon, resources.GetString("panelIcon.ToolTip"));
//
// chbSaveResponse
//
resources.ApplyResources(this.chbSaveResponse, "chbSaveResponse");
this.chbSaveResponse.Name = "chbSaveResponse";
this.buttonToolTip.SetToolTip(this.chbSaveResponse, resources.GetString("chbSaveResponse.ToolTip"));
//
// imageListIcons
//
this.imageListIcons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListIcons.ImageStream")));
this.imageListIcons.TransparentColor = System.Drawing.Color.Transparent;
this.imageListIcons.Images.SetKeyName(0, "");
this.imageListIcons.Images.SetKeyName(1, "");
this.imageListIcons.Images.SetKeyName(2, "");
this.imageListIcons.Images.SetKeyName(3, "");
//
// rtbMessage
//
resources.ApplyResources(this.rtbMessage, "rtbMessage");
this.rtbMessage.BackColor = System.Drawing.SystemColors.Control;
this.rtbMessage.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.rtbMessage.Name = "rtbMessage";
this.rtbMessage.ReadOnly = true;
this.buttonToolTip.SetToolTip(this.rtbMessage, resources.GetString("rtbMessage.ToolTip"));
//
// MessageBoxExForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.rtbMessage);
this.Controls.Add(this.chbSaveResponse);
this.Controls.Add(this.panelIcon);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "MessageBoxExForm";
this.buttonToolTip.SetToolTip(this, resources.GetString("$this.ToolTip"));
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
}
}

View File

@ -0,0 +1,323 @@
<?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>
<data name="imageListIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADC
LQAAAk1TRnQBSQFMAgEBBAEAARgBAAEYAQABIAEAASABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABQAMAAQEBAAEQBgABQP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wA8AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIqAAEQAUIBEAFCMAABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjwAARABQgEQAUIeAAEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQiYAARABQgEQAUIBEAFC
KgABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjQA
ARABQgEQAUIBEAFCGwABQjAAARABQgEQAUIBEAFCARABQgEQAUImAAEQAUIBEAFCKAABEAFCARABQgEA
AUABAAFAAQABQAEAAUABAAFAAQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIBEAFCNAABEAFC
ARABQhkAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQgEQ
AUIBEAFCIgAB/wF/AgABEAFCARABQiQAARABQgEAAUABAAFAAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIsAAH/AX8CAAEQAUIBEAFC
FwABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQ
AUIBEAFCIAAB/wF/Af8BfwIAARABQgEQAUIiAAEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARABQgEQAUIoAAH/
AX8B/wF/AgABEAFCARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCARABQhoAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQiEAAUABAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABAAFAARABQgEQAUIBEAFCARABQiAAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQhcA
AUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARABQgEQAUIBEAFCAgAB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCGQABQAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEQAUIBEAFCARABQhoAARABQgEQAUIBEAFCARABQgIAAf8BfwH/AX8B/wF/
AgABEAFCARABQgEQAUIBEAFCARABQhEAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFj
AgABEAFCARABQhIAARABQgEQAUIBEAFCBgABGAFjAf8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIBEAFC
ARABQgEQAUIBEAFCEwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFC
FAABEAFCARABQgEQAUIGAAEYAWMB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIPAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCBgABGAFjAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUIRAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIBEAFCEAABEAFCBgABGAFjAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUINAAFCAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUISAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhIAARgBYwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAgABEAFC
ARABQgEQAUIBEAFCCQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABQAEQAUIBEAFCDgABGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMCAAEQAUIBEAFCARABQgEQAUILAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIHAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAFA
ARABQgEQAUIBEAFCCgAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCARABQgsAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABGAFjAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/ARgBYwEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIA
ARABQgEQAUIBEAFCARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/
Af8BfwEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABEAFCARABQgEQAUIIAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIJAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AQABQgMAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIDAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/
AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgQAARABQgH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/BgAB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwIAARABQgEQ
AUIMAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEA
AR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQ
AUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAFAARABQgEQAUICAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
ARgBYwIAARABQgEQAUIBEAFCCQABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBgABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIMAAEQAUIB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwEAAUIHAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFC
ARABQgwAARABQgEYAWMB/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/Af8BfwEY
AWMCAAEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQAUILAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/CgAB4AF/
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/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIB/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8BAAH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg0AAUIB4AF/
AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCDgABEAFCAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFC
ARABQgEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AgABEAFCARABQg0AAUIB4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwEYAWMCAAEQ
AUIBEAFCDgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCAgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/
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/AgABEAFCARABQgEAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/
AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUICAAEQAUIB/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/CgAB4AF/
AeABfwHgAX8BGAFjAgABEAFCARABQhAAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIFAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCEwABQgHgAX8B4AF/AeABfwEYAWMGAAEYAWMB4AF/
AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AR8BAAEfAQABHwEAAR8BAAH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCBAABEAFCARgBYwH/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/AeABfwHg
AX8B4AF/ARgBYwIAARABQgEQAUIUAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEf
AQABHwEAAR8BAAEfAQAB/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwIAARABQgcAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8BAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAIAAEQAUIB/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/Af8BfwIA
ARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMNAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUIIAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAEfAQABGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYxsAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEY
AWMCAAEQAUIBEAFCGAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAARgBYwH/
AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/EQABQAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgwAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8Bfx8AAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhwA
ARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8TAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEf
AQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/IQABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCHgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8XAAFAAQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAFAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEA
AR8BAAEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8lAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCIgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQhkAAUABAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFA
GAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8BGAFjARABQiUAAUIB4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQiYAARABQgEQ
AUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEQ
AUIBEAFCHwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABQB4AARABQgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwEQAUIBEAFCKQABQgHgAX8B4AF/ARgBYzAAARABQgEQAUIBEAFCARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIlAAFAAQABQAEAAUABAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFAAQABQCQAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIvAAFCAQABQgEAAUI2AAEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCMQABQAEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUAwAAEQAUIBEAFC
ARABQgEQAUIBEAFCARABQgEQAUIBEAFCGgABQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEE
FgAD//8A/wADAAH4AgABAwL/AecC/wH4AQcD/wHnAf8B8AIAAQEC/wHHAv8BwAEAA/8BxwH/AcADAAL/
AYcC/wGAAQABfwL/AYcB/wGAAwAC/wEHAf8B/gIAAR8C/wEHAf8EAAH/Af4BBwH/AfwCAAEPAf8B/gEH
Af8EAAH/AfgBBwH/AfgCAAEHAf8B+AEHAf8DAAEBAf8BwAEAAf8B8AIAAQcB/wHAAQAB/wMAAQEB/wIA
AT8B4AIAAQMB/wIAAT8BgAIAAQMB/gIAAR8B4AIAAQEB/gIAAR8BgAIAAQMB/AIAAQ8BwAIAAQEB/AIA
AQ8BwAIAAQcB+AIAAQcBgAIAAQEB+AIAAQcBwAIAAQcB8AIAAQMBgAMAAfACAAEDAeACAAEPAeACAAEB
AYADAAHgAgABAQHgAgABDwHAAgABAQQAAcACAAEBAfACAAEfAYAHAAGAAwAB8AIAAR8BgAcAAYADAAH4
AgABPwwAAfgCAAE/DAAB/AIAAX8MAAH8AgABfwcAAQEEAAH+AgAB/wcAAQEEAAH+AgAB/wMAAQEBgAIA
AQEDAAEBAf8BAAEBAf8DAAEBAYACAAEDAwABAQH/AQABAQH/AYACAAEDAYACAAEHAYACAAEDAf8BgAED
Af8BgAIAAQcBwAIAAQcBgAIAAQcB/wGAAQMB/wHAAgABDwHgAgABDwHAAgABDwH/AcABBwH/AeACAAEf
AeACAAEfAeACAAEfAf8BwAEHAf8B8AIAAT8B8AIAAT8B8AIAAT8B/wHgAQ8B/wH4AgABfwH4AgABfwH4
AgABfwH/AeABHwH/AfwCAAH/Af4BAAEBAf8B/AIAAv8B8AF/Av8BAAEDAv8BAAEDAv8BAAEDAv8B+AP/
AeABHwL/AeABHwL/AeABHwH/Cw==
</value>
</data>
</root>

View File

@ -0,0 +1,323 @@
<?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>
<data name="imageListIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADC
LQAAAk1TRnQBSQFMAgEBBAEAARQBAAEUAQABIAEAASABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABQAMAAQEBAAEQBgABQP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wA8AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIqAAEQAUIBEAFCMAABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjwAARABQgEQAUIeAAEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQiYAARABQgEQAUIBEAFC
KgABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjQA
ARABQgEQAUIBEAFCGwABQjAAARABQgEQAUIBEAFCARABQgEQAUImAAEQAUIBEAFCKAABEAFCARABQgEA
AUABAAFAAQABQAEAAUABAAFAAQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIBEAFCNAABEAFC
ARABQhkAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQgEQ
AUIBEAFCIgAB/wF/AgABEAFCARABQiQAARABQgEAAUABAAFAAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIsAAH/AX8CAAEQAUIBEAFC
FwABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQ
AUIBEAFCIAAB/wF/Af8BfwIAARABQgEQAUIiAAEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARABQgEQAUIoAAH/
AX8B/wF/AgABEAFCARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCARABQhoAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQiEAAUABAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABAAFAARABQgEQAUIBEAFCARABQiAAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQhcA
AUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARABQgEQAUIBEAFCAgAB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCGQABQAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEQAUIBEAFCARABQhoAARABQgEQAUIBEAFCARABQgIAAf8BfwH/AX8B/wF/
AgABEAFCARABQgEQAUIBEAFCARABQhEAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFj
AgABEAFCARABQhIAARABQgEQAUIBEAFCBgABGAFjAf8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIBEAFC
ARABQgEQAUIBEAFCEwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFC
FAABEAFCARABQgEQAUIGAAEYAWMB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIPAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCBgABGAFjAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUIRAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIBEAFCEAABEAFCBgABGAFjAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUINAAFCAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUISAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhIAARgBYwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAgABEAFC
ARABQgEQAUIBEAFCCQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABQAEQAUIBEAFCDgABGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMCAAEQAUIBEAFCARABQgEQAUILAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIHAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAFA
ARABQgEQAUIBEAFCCgAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCARABQgsAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABGAFjAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/ARgBYwEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIA
ARABQgEQAUIBEAFCARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/
Af8BfwEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABEAFCARABQgEQAUIIAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIJAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AQABQgMAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIDAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/
AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgQAARABQgH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/BgAB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwIAARABQgEQ
AUIMAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEA
AR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQ
AUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAFAARABQgEQAUICAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
ARgBYwIAARABQgEQAUIBEAFCCQABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBgABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIMAAEQAUIB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwEAAUIHAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFC
ARABQgwAARABQgEYAWMB/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/Af8BfwEY
AWMCAAEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQAUILAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/CgAB4AF/
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/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIB/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8BAAH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg0AAUIB4AF/
AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCDgABEAFCAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFC
ARABQgEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AgABEAFCARABQg0AAUIB4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwEYAWMCAAEQ
AUIBEAFCDgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCAgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/
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/AgABEAFCARABQgEAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/
AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUICAAEQAUIB/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/CgAB4AF/
AeABfwHgAX8BGAFjAgABEAFCARABQhAAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIFAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCEwABQgHgAX8B4AF/AeABfwEYAWMGAAEYAWMB4AF/
AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AR8BAAEfAQABHwEAAR8BAAH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCBAABEAFCARgBYwH/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/AeABfwHg
AX8B4AF/ARgBYwIAARABQgEQAUIUAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEf
AQABHwEAAR8BAAEfAQAB/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwIAARABQgcAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8BAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAIAAEQAUIB/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/Af8BfwIA
ARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMNAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUIIAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAEfAQABGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYxsAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEY
AWMCAAEQAUIBEAFCGAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAARgBYwH/
AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/EQABQAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgwAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8Bfx8AAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhwA
ARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8TAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEf
AQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/IQABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCHgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8XAAFAAQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAFAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEA
AR8BAAEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8lAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCIgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQhkAAUABAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFA
GAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8BGAFjARABQiUAAUIB4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQiYAARABQgEQ
AUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEQ
AUIBEAFCHwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABQB4AARABQgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwEQAUIBEAFCKQABQgHgAX8B4AF/ARgBYzAAARABQgEQAUIBEAFCARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIlAAFAAQABQAEAAUABAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFAAQABQCQAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIvAAFCAQABQgEAAUI2AAEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCMQABQAEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUAwAAEQAUIBEAFC
ARABQgEQAUIBEAFCARABQgEQAUIBEAFCGgABQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEE
FgAD//8A/wADAAH4AgABAwL/AecC/wH4AQcD/wHnAf8B8AIAAQEC/wHHAv8BwAEAA/8BxwH/AcADAAL/
AYcC/wGAAQABfwL/AYcB/wGAAwAC/wEHAf8B/gIAAR8C/wEHAf8EAAH/Af4BBwH/AfwCAAEPAf8B/gEH
Af8EAAH/AfgBBwH/AfgCAAEHAf8B+AEHAf8DAAEBAf8BwAEAAf8B8AIAAQcB/wHAAQAB/wMAAQEB/wIA
AT8B4AIAAQMB/wIAAT8BgAIAAQMB/gIAAR8B4AIAAQEB/gIAAR8BgAIAAQMB/AIAAQ8BwAIAAQEB/AIA
AQ8BwAIAAQcB+AIAAQcBgAIAAQEB+AIAAQcBwAIAAQcB8AIAAQMBgAMAAfACAAEDAeACAAEPAeACAAEB
AYADAAHgAgABAQHgAgABDwHAAgABAQQAAcACAAEBAfACAAEfAYAHAAGAAwAB8AIAAR8BgAcAAYADAAH4
AgABPwwAAfgCAAE/DAAB/AIAAX8MAAH8AgABfwcAAQEEAAH+AgAB/wcAAQEEAAH+AgAB/wMAAQEBgAIA
AQEDAAEBAf8BAAEBAf8DAAEBAYACAAEDAwABAQH/AQABAQH/AYACAAEDAYACAAEHAYACAAEDAf8BgAED
Af8BgAIAAQcBwAIAAQcBgAIAAQcB/wGAAQMB/wHAAgABDwHgAgABDwHAAgABDwH/AcABBwH/AeACAAEf
AeACAAEfAeACAAEfAf8BwAEHAf8B8AIAAT8B8AIAAT8B8AIAAT8B/wHgAQ8B/wH4AgABfwH4AgABfwH4
AgABfwH/AeABHwH/AfwCAAH/Af4BAAEBAf8B/AIAAv8B8AF/Av8BAAEDAv8BAAEDAv8BAAEDAv8B+AP/
AeABHwL/AeABHwL/AeABHwH/Cw==
</value>
</data>
</root>

View File

@ -0,0 +1,323 @@
<?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>
<data name="imageListIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADC
LQAAAk1TRnQBSQFMAgEBBAEAARwBAAEcAQABIAEAASABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABQAMAAQEBAAEQBgABQP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wA8AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIqAAEQAUIBEAFCMAABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjwAARABQgEQAUIeAAEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQiYAARABQgEQAUIBEAFC
KgABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjQA
ARABQgEQAUIBEAFCGwABQjAAARABQgEQAUIBEAFCARABQgEQAUImAAEQAUIBEAFCKAABEAFCARABQgEA
AUABAAFAAQABQAEAAUABAAFAAQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIBEAFCNAABEAFC
ARABQhkAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQgEQ
AUIBEAFCIgAB/wF/AgABEAFCARABQiQAARABQgEAAUABAAFAAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIsAAH/AX8CAAEQAUIBEAFC
FwABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQ
AUIBEAFCIAAB/wF/Af8BfwIAARABQgEQAUIiAAEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARABQgEQAUIoAAH/
AX8B/wF/AgABEAFCARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCARABQhoAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQiEAAUABAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABAAFAARABQgEQAUIBEAFCARABQiAAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQhcA
AUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARABQgEQAUIBEAFCAgAB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCGQABQAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEQAUIBEAFCARABQhoAARABQgEQAUIBEAFCARABQgIAAf8BfwH/AX8B/wF/
AgABEAFCARABQgEQAUIBEAFCARABQhEAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFj
AgABEAFCARABQhIAARABQgEQAUIBEAFCBgABGAFjAf8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIBEAFC
ARABQgEQAUIBEAFCEwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFC
FAABEAFCARABQgEQAUIGAAEYAWMB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIPAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCBgABGAFjAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUIRAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIBEAFCEAABEAFCBgABGAFjAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUINAAFCAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUISAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhIAARgBYwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAgABEAFC
ARABQgEQAUIBEAFCCQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABQAEQAUIBEAFCDgABGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMCAAEQAUIBEAFCARABQgEQAUILAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIHAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAFA
ARABQgEQAUIBEAFCCgAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCARABQgsAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABGAFjAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/ARgBYwEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIA
ARABQgEQAUIBEAFCARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/
Af8BfwEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABEAFCARABQgEQAUIIAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIJAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AQABQgMAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIDAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/
AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgQAARABQgH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/BgAB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwIAARABQgEQ
AUIMAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEA
AR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQ
AUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAFAARABQgEQAUICAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
ARgBYwIAARABQgEQAUIBEAFCCQABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBgABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIMAAEQAUIB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwEAAUIHAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFC
ARABQgwAARABQgEYAWMB/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/Af8BfwEY
AWMCAAEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQAUILAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/CgAB4AF/
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/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIB/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8BAAH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg0AAUIB4AF/
AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCDgABEAFCAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFC
ARABQgEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AgABEAFCARABQg0AAUIB4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwEYAWMCAAEQ
AUIBEAFCDgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCAgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/
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/AgABEAFCARABQgEAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/
AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUICAAEQAUIB/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/CgAB4AF/
AeABfwHgAX8BGAFjAgABEAFCARABQhAAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIFAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCEwABQgHgAX8B4AF/AeABfwEYAWMGAAEYAWMB4AF/
AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AR8BAAEfAQABHwEAAR8BAAH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCBAABEAFCARgBYwH/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/AeABfwHg
AX8B4AF/ARgBYwIAARABQgEQAUIUAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEf
AQABHwEAAR8BAAEfAQAB/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwIAARABQgcAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8BAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAIAAEQAUIB/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/Af8BfwIA
ARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMNAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUIIAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAEfAQABGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYxsAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEY
AWMCAAEQAUIBEAFCGAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAARgBYwH/
AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/EQABQAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgwAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8Bfx8AAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhwA
ARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8TAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEf
AQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/IQABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCHgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8XAAFAAQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAFAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEA
AR8BAAEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8lAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCIgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQhkAAUABAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFA
GAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8BGAFjARABQiUAAUIB4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQiYAARABQgEQ
AUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEQ
AUIBEAFCHwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABQB4AARABQgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwEQAUIBEAFCKQABQgHgAX8B4AF/ARgBYzAAARABQgEQAUIBEAFCARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIlAAFAAQABQAEAAUABAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFAAQABQCQAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIvAAFCAQABQgEAAUI2AAEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCMQABQAEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUAwAAEQAUIBEAFC
ARABQgEQAUIBEAFCARABQgEQAUIBEAFCGgABQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEE
FgAD//8A/wADAAH4AgABAwL/AecC/wH4AQcD/wHnAf8B8AIAAQEC/wHHAv8BwAEAA/8BxwH/AcADAAL/
AYcC/wGAAQABfwL/AYcB/wGAAwAC/wEHAf8B/gIAAR8C/wEHAf8EAAH/Af4BBwH/AfwCAAEPAf8B/gEH
Af8EAAH/AfgBBwH/AfgCAAEHAf8B+AEHAf8DAAEBAf8BwAEAAf8B8AIAAQcB/wHAAQAB/wMAAQEB/wIA
AT8B4AIAAQMB/wIAAT8BgAIAAQMB/gIAAR8B4AIAAQEB/gIAAR8BgAIAAQMB/AIAAQ8BwAIAAQEB/AIA
AQ8BwAIAAQcB+AIAAQcBgAIAAQEB+AIAAQcBwAIAAQcB8AIAAQMBgAMAAfACAAEDAeACAAEPAeACAAEB
AYADAAHgAgABAQHgAgABDwHAAgABAQQAAcACAAEBAfACAAEfAYAHAAGAAwAB8AIAAR8BgAcAAYADAAH4
AgABPwwAAfgCAAE/DAAB/AIAAX8MAAH8AgABfwcAAQEEAAH+AgAB/wcAAQEEAAH+AgAB/wMAAQEBgAIA
AQEDAAEBAf8BAAEBAf8DAAEBAYACAAEDAwABAQH/AQABAQH/AYACAAEDAYACAAEHAYACAAEDAf8BgAED
Af8BgAIAAQcBwAIAAQcBgAIAAQcB/wGAAQMB/wHAAgABDwHgAgABDwHAAgABDwH/AcABBwH/AeACAAEf
AeACAAEfAeACAAEfAf8BwAEHAf8B8AIAAT8B8AIAAT8B8AIAAT8B/wHgAQ8B/wH4AgABfwH4AgABfwH4
AgABfwH/AeABHwH/AfwCAAH/Af4BAAEBAf8B/AIAAv8B8AF/Av8BAAEDAv8BAAEDAv8BAAEDAv8B+AP/
AeABHwL/AeABHwL/AeABHwH/Cw==
</value>
</data>
</root>

View File

@ -0,0 +1,441 @@
<?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>
<data name="&gt;&gt;rtbMessage.Parent" xml:space="preserve">
<value>$this</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="chbSaveResponse.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
<value>System</value>
</data>
<data name="&gt;&gt;imageListIcons.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="rtbMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 48</value>
</data>
<data name="rtbMessage.Location" type="System.Drawing.Point, System.Drawing">
<value>200, 8</value>
</data>
<data name="&gt;&gt;rtbMessage.Type" xml:space="preserve">
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;buttonToolTip.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="panelIcon.Size" type="System.Drawing.Size, System.Drawing">
<value>32, 32</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>MessageBoxExForm</value>
</data>
<data name="&gt;&gt;panelIcon.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="rtbMessage.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>322, 224</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>Manual</value>
</data>
<data name="&gt;&gt;panelIcon.Name" xml:space="preserve">
<value>panelIcon</value>
</data>
<data name="&gt;&gt;imageListIcons.Name" xml:space="preserve">
<value>imageListIcons</value>
</data>
<data name="rtbMessage.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="chbSaveResponse.Location" type="System.Drawing.Point, System.Drawing">
<value>56, 56</value>
</data>
<data name="&gt;&gt;panelIcon.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;chbSaveResponse.Name" xml:space="preserve">
<value>chbSaveResponse</value>
</data>
<data name="&gt;&gt;buttonToolTip.Name" xml:space="preserve">
<value>buttonToolTip</value>
</data>
<data name="&gt;&gt;rtbMessage.Name" xml:space="preserve">
<value>rtbMessage</value>
</data>
<data name="&gt;&gt;chbSaveResponse.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;chbSaveResponse.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panelIcon.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;chbSaveResponse.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="&gt;&gt;rtbMessage.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="panelIcon.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 8</value>
</data>
<data name="chbSaveResponse.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 16</value>
</data>
<data name="panelIcon.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="imageListIcons.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADE
LQAAAk1TRnQBSQFMAgEBBAEAAQwBAAEYAQABIAEAASABAAT/AREBEAj/AUIBTQE2BwABNgMAASgDAAGA
AwABQAMAAQEBAAEQBgABQP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wA8AAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIqAAEQAUIBEAFCMAABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjwAARABQgEQAUIeAAEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQiYAARABQgEQAUIBEAFC
KgABEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQAUIBEAFCARABQjQA
ARABQgEQAUIBEAFCGwABQjAAARABQgEQAUIBEAFCARABQgEQAUImAAEQAUIBEAFCKAABEAFCARABQgEA
AUABAAFAAQABQAEAAUABAAFAAQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIBEAFCNAABEAFC
ARABQhkAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQgEQ
AUIBEAFCIgAB/wF/AgABEAFCARABQiQAARABQgEAAUABAAFAAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEAAUABAAFAARABQgEQAUIBEAFCARABQgEQAUIsAAH/AX8CAAEQAUIBEAFC
FwABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQ
AUIBEAFCIAAB/wF/Af8BfwIAARABQgEQAUIiAAEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARABQgEQAUIoAAH/
AX8B/wF/AgABEAFCARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCARABQhoAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQiEAAUABAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABAAFAARABQgEQAUIBEAFCARABQiAAARABQgIAAf8BfwH/AX8B/wF/AgABEAFCARABQhcA
AUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARABQgEQAUIBEAFCAgAB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCGQABQAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABQAEQAUIBEAFCARABQhoAARABQgEQAUIBEAFCARABQgIAAf8BfwH/AX8B/wF/
AgABEAFCARABQgEQAUIBEAFCARABQhEAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFj
AgABEAFCARABQhIAARABQgEQAUIBEAFCBgABGAFjAf8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIBEAFC
ARABQgEQAUIBEAFCEwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUIBEAFC
FAABEAFCARABQgEQAUIGAAEYAWMB/wF/Af8BfwH/AX8CAAEQAUIBEAFCARABQgEQAUIBEAFCARABQgEQ
AUIPAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8IAAHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCBgABGAFjAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUIRAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIBEAFCEAABEAFCBgABGAFjAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwYAARABQgEQAUIBEAFCARABQgEQAUINAAFCAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBAABGAFjAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIUAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUISAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjBAABEAFCARABQgEQAUIBEAFCDQABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhIAARgBYwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAgABEAFC
ARABQgEQAUIBEAFCCQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABQAEQAUIBEAFCDgABGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMCAAEQAUIBEAFCARABQgEQAUILAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8BGAFjAgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIHAAFAAQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAFA
ARABQgEQAUIBEAFCCgAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCARABQgsAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjAgABGAFjAeABfwHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhAAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/ARgBYwEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIA
ARABQgEQAUIBEAFCARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/
Af8BfwEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUABEAFCARABQgEQAUIIAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIBEAFC
ARABQgEQAUIJAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AQABQgMAAUIB4AF/
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCDAABEAFCAf8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQgEQAUIDAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/
AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgQAARABQgH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwHgAX8B4AF/BgAB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwIAARABQgEQ
AUIMAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEA
AR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQ
AUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAFAARABQgEQAUICAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
ARgBYwIAARABQgEQAUIBEAFCCQABQgHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8BGAFjBgABGAFj
AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQgEQAUIMAAEQAUIB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEA
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBEAFCCwABQgHg
AX8B4AF/AeABfwHgAX8B4AF/AeABfwEAAUIHAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFC
ARABQgwAARABQgEYAWMB/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/Af8BfwEY
AWMCAAEQAUIBEAFCAQABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAFAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgEQAUILAAFCAeABfwHgAX8B4AF/AeABfwHgAX8B4AF/CgAB4AF/
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/Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFCARABQgEQAUIB/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAEfAQABHwEAAR8BAAH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCARABQg0AAUIB4AF/
AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCDgABEAFCAf8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIBAAFA
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABEAFC
ARABQgEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AgABEAFCARABQg0AAUIB4AF/AeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/AeABfwEYAWMCAAEQ
AUIBEAFCDgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwIAARABQgEQAUIBAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCAgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwIAARABQgEQAUIPAAFCAeABfwHgAX8B4AF/AeABfwoAAeABfwHgAX8B4AF/
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/AgABEAFCARABQgEAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/
AX8B/wF/Af8BfwH/AX8B/wF/AQABfAEAAXwB/wF/Af8BfwH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUICAAEQAUIB/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/CgAB4AF/
AeABfwHgAX8BGAFjAgABEAFCARABQhAAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwEYAWMBHwEAAR8BAAEYAWMB/wF/AR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8CAAEQAUIFAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/
AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAARABQgEQAUICAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/AgABEAFCEwABQgHgAX8B4AF/AeABfwEYAWMGAAEYAWMB4AF/
AeABfwHgAX8CAAEQAUIBEAFCEgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
AR8BAAEfAQABHwEAAR8BAAH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwIAARABQgUAAUABAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwH/
AX8B/wF/AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8Af8BfwH/AX8B/wF/Af8BfwH/AX8BAAF8AQABfAEA
AXwBAAF8AQABfAEAAUABEAFCBAABEAFCARgBYwH/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/AeABfwHg
AX8B4AF/ARgBYwIAARABQgEQAUIUAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEf
AQABHwEAAR8BAAEfAQAB/wF/Af8BfwEfAQABHwEAAR8BAAEfAQAB/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwIAARABQgcAAUABAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/Af8BfwH/AX8BAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAH/AX8B/wF/Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAIAAEQAUIB/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/Af8BfwIA
ARABQhcAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwHgAX8CAAEQAUIBEAFCFgABEAFC
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8BHwEA
AR8BAAEfAQABHwEAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMNAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8Af8BfwEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwB/wF/
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABQAEQAUIIAAEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEfAQABHwEAAR8BAAEfAQABGAFjAf8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/ARgBYxsAAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AeABfwEY
AWMCAAEQAUIBEAFCGAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEAARgBYwH/
AX8B/wF/AR8BAAEfAQABHwEAAR8BAAEYAWMB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/EQABQAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAFAARABQgwAARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEfAQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8Bfx8AAUIB4AF/AeABfwHgAX8B4AF/AeABfwHgAX8B4AF/AgABEAFCARABQhwA
ARABQgH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjAR8BAAEfAQABHwEAAR8BAAEfAQABHwEA
ARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8TAAFAAQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8
AQABfAEAAUAQAAEQAUIB/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEfAQABHwEAAR8BAAEf
AQABHwEAAR8BAAH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/IQABQgHgAX8B4AF/AeABfwHg
AX8B4AF/AeABfwEYAWMCAAEQAUIBEAFCHgABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8XAAFAAQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAFAFAABEAFCAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBHwEA
AR8BAAEfAQABHwEAARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8lAAFCAeABfwHgAX8B4AF/
AeABfwHgAX8CAAEQAUIBEAFCIgABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8BGAFjARABQhkAAUABAAFAAQABfAEAAXwBAAF8
AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFA
GAABEAFCARgBYwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8BGAFjARABQiUAAUIB4AF/AeABfwHgAX8B4AF/ARgBYwIAARABQiYAARABQgEQ
AUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ARgBYwEQ
AUIBEAFCHwABQAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAXwBAAF8AQABfAEA
AXwBAAF8AQABQB4AARABQgEQAUIBGAFjAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
Af8BfwH/AX8B/wF/ARgBYwEQAUIBEAFCKQABQgHgAX8B4AF/ARgBYzAAARABQgEQAUIBEAFCARgBYwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIlAAFAAQABQAEAAUABAAF8AQABfAEA
AXwBAAF8AQABfAEAAXwBAAF8AQABfAEAAUABAAFAAQABQCQAARABQgEQAUIBEAFCARgBYwH/AX8B/wF/
Af8BfwH/AX8B/wF/Af8BfwEYAWMBEAFCARABQgEQAUIvAAFCAQABQgEAAUI2AAEQAUIBEAFCARABQgEQ
AUIBEAFCARABQgEQAUIBEAFCMQABQAEAAUABAAFAAQABQAEAAUABAAFAAQABQAEAAUAwAAEQAUIBEAFC
ARABQgEQAUIBEAFCARABQgEQAUIBEAFCGgABQgFNAT4HAAE+AwABKAMAAYADAAFAAwABAQEAAQEGAAEE
FgAD//8A/wADAAH4AgABAwL/AecC/wH4AQcD/wHnAf8B8AIAAQEC/wHHAv8BwAEAA/8BxwH/AcADAAL/
AYcC/wGAAQABfwL/AYcB/wGAAwAC/wEHAf8B/gIAAR8C/wEHAf8EAAH/Af4BBwH/AfwCAAEPAf8B/gEH
Af8EAAH/AfgBBwH/AfgCAAEHAf8B+AEHAf8DAAEBAf8BwAEAAf8B8AIAAQcB/wHAAQAB/wMAAQEB/wIA
AT8B4AIAAQMB/wIAAT8BgAIAAQMB/gIAAR8B4AIAAQEB/gIAAR8BgAIAAQMB/AIAAQ8BwAIAAQEB/AIA
AQ8BwAIAAQcB+AIAAQcBgAIAAQEB+AIAAQcBwAIAAQcB8AIAAQMBgAMAAfACAAEDAeACAAEPAeACAAEB
AYADAAHgAgABAQHgAgABDwHAAgABAQQAAcACAAEBAfACAAEfAYAHAAGAAwAB8AIAAR8BgAcAAYADAAH4
AgABPwwAAfgCAAE/DAAB/AIAAX8MAAH8AgABfwcAAQEEAAH+AgAB/wcAAQEEAAH+AgAB/wMAAQEBgAIA
AQEDAAEBAf8BAAEBAf8DAAEBAYACAAEDAwABAQH/AQABAQH/AYACAAEDAYACAAEHAYACAAEDAf8BgAED
Af8BgAIAAQcBwAIAAQcBgAIAAQcB/wGAAQMB/wHAAgABDwHgAgABDwHAAgABDwH/AcABBwH/AeACAAEf
AeACAAEfAeACAAEfAf8BwAEHAf8B8AIAAT8B8AIAAT8B8AIAAT8B/wHgAQ8B/wH4AgABfwH4AgABfwH4
AgABfwH/AeABHwH/AfwCAAH/Af4BAAEBAf8B/AIAAv8B8AF/Av8BAAEDAv8BAAEDAv8BAAEDAv8B+AP/
AeABHwL/AeABHwL/AeABHwH/FgAL
</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt</value>
</data>
<data name="chbSaveResponse.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="panelIcon.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<metadata name="imageListIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="buttonToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>142, 17</value>
</metadata>
<data name="$this.Name" xml:space="preserve">
<value></value>
<comment>@Invariant</comment>
</data>
</root>

View File

@ -0,0 +1,20 @@
using System;
namespace Eugen.ESystem.Windows.Forms
{
/// <summary>
/// Standard MessageBoxEx icons
/// </summary>
public enum MessageBoxExIcon
{
None,
Asterisk,
Error,
Exclamation,
Hand,
Information,
Question,
Stop,
Warning
}
}

View File

@ -0,0 +1,142 @@
<?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>Eugen.ESystem.Windows.Forms.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="Properties\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.de.resx">
<DependentUpon>MessageBoxExForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MessageBoxExForm.en.resx">
<DependentUpon>MessageBoxExForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MessageBoxExForm.fr.resx">
<DependentUpon>MessageBoxExForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MessageBoxExForm.resx">
<DependentUpon>MessageBoxExForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Resources\StandardButtonsText.de.resx">
<CustomToolNamespace>Eugen.ESystem.Windows.Forms</CustomToolNamespace>
</EmbeddedResource>
<EmbeddedResource Include="Resources\StandardButtonsText.en.resx" />
<EmbeddedResource Include="Resources\StandardButtonsText.fr.resx">
<CustomToolNamespace>Eugen.ESystem.Windows.Forms</CustomToolNamespace>
</EmbeddedResource>
<EmbeddedResource Include="Resources\StandardButtonsText.resx">
<CustomToolNamespace>Eugen.ESystem.Windows.Forms</CustomToolNamespace>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent />
<PostBuildEvent />
</PropertyGroup>
</Project>

View File

@ -0,0 +1,206 @@
using System;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Windows.Forms;
namespace Eugen.ESystem.Windows.Forms
{
/// <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("Eugen.ESystem.Windows.Forms.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
}
}

View File

@ -0,0 +1,19 @@
using System;
namespace Eugen.ESystem.Windows.Forms
{
/// <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
MessageBoxExLib/Notes.txt Normal file
View 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.

View 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("MessageBoxExLib")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("MessageBoxExLib")]
[assembly: AssemblyCopyright("Copyright © 2020 by Eugen Höglinger")]
[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("")]

View File

@ -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>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>

View File

@ -0,0 +1,141 @@
<?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>
<data name="Abort" xml:space="preserve">
<value>Abort</value>
</data>
<data name="Cancel" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="Ignore" xml:space="preserve">
<value>Ignore</value>
</data>
<data name="No" xml:space="preserve">
<value>No</value>
</data>
<data name="Ok" xml:space="preserve">
<value>Ok</value>
</data>
<data name="Retry" xml:space="preserve">
<value>Retry</value>
</data>
<data name="Yes" xml:space="preserve">
<value>Yes</value>
</data>
</root>

View File

@ -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>

View File

@ -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>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>

View File

@ -0,0 +1,29 @@
using System;
namespace Eugen.ESystem.Windows.Forms
{
/// <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
}
}

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]

View File

@ -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

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

118
Test_MessageBoxExLib/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,118 @@
namespace Test_MessageBoxExLib
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.groupBoxProgramInfo = new System.Windows.Forms.GroupBox();
this.labelProgramInfo = new System.Windows.Forms.Label();
this.groupBoxDLLInfo = new System.Windows.Forms.GroupBox();
this.labelDLLInfo = new System.Windows.Forms.Label();
this.groupBoxProgramInfo.SuspendLayout();
this.groupBoxDLLInfo.SuspendLayout();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 187);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(776, 23);
this.button1.TabIndex = 0;
this.button1.Text = "MessageBox aufrufen";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// groupBoxProgramInfo
//
this.groupBoxProgramInfo.Controls.Add(this.labelProgramInfo);
this.groupBoxProgramInfo.Location = new System.Drawing.Point(12, 372);
this.groupBoxProgramInfo.Name = "groupBoxProgramInfo";
this.groupBoxProgramInfo.Size = new System.Drawing.Size(385, 66);
this.groupBoxProgramInfo.TabIndex = 11;
this.groupBoxProgramInfo.TabStop = false;
this.groupBoxProgramInfo.Text = "Programm Information";
//
// labelProgramInfo
//
this.labelProgramInfo.AutoSize = true;
this.labelProgramInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.labelProgramInfo.Location = new System.Drawing.Point(7, 20);
this.labelProgramInfo.Name = "labelProgramInfo";
this.labelProgramInfo.Size = new System.Drawing.Size(16, 13);
this.labelProgramInfo.TabIndex = 0;
this.labelProgramInfo.Text = "...";
//
// groupBoxDLLInfo
//
this.groupBoxDLLInfo.Controls.Add(this.labelDLLInfo);
this.groupBoxDLLInfo.Location = new System.Drawing.Point(403, 372);
this.groupBoxDLLInfo.Name = "groupBoxDLLInfo";
this.groupBoxDLLInfo.Size = new System.Drawing.Size(385, 66);
this.groupBoxDLLInfo.TabIndex = 12;
this.groupBoxDLLInfo.TabStop = false;
this.groupBoxDLLInfo.Text = "DLL Information";
//
// labelDLLInfo
//
this.labelDLLInfo.AutoSize = true;
this.labelDLLInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.labelDLLInfo.Location = new System.Drawing.Point(7, 20);
this.labelDLLInfo.Name = "labelDLLInfo";
this.labelDLLInfo.Size = new System.Drawing.Size(16, 13);
this.labelDLLInfo.TabIndex = 0;
this.labelDLLInfo.Text = "...";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.groupBoxProgramInfo);
this.Controls.Add(this.groupBoxDLLInfo);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Test_MessageBoxExLib";
this.Load += new System.EventHandler(this.Form1_Load);
this.groupBoxProgramInfo.ResumeLayout(false);
this.groupBoxProgramInfo.PerformLayout();
this.groupBoxDLLInfo.ResumeLayout(false);
this.groupBoxDLLInfo.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button button1;
private System.Windows.Forms.GroupBox groupBoxProgramInfo;
private System.Windows.Forms.Label labelProgramInfo;
private System.Windows.Forms.GroupBox groupBoxDLLInfo;
private System.Windows.Forms.Label labelDLLInfo;
}
}

View File

@ -0,0 +1,157 @@
using Eugen.ESystem.Windows.Forms;
using System;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Windows.Forms;
namespace Test_MessageBoxExLib
{
public partial class Form1 : Form
{
#region Version und Copyright
// Version und Copyright
string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
string copyright = GenerateCopyright();
string icon = Application.StartupPath + "\\Info.bmp";
//Assembly Datum und Zeit
static DateTime value = AssemblyDateTime();
string date = value.ToShortDateString();
string time = value.ToLongTimeString();
private static DateTime AssemblyDateTime()
{
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
}
private static string CurrentYear()
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
private static string StartYear()
{
//string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
//return startYear.Remove(0, startYear.LastIndexOf(" ") + 1);
string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" "))
{
startYear = startYear.Remove(0, 1);
}
startYear = startYear.Remove(startYear.IndexOf(" "));
return startYear;
}
else
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
}
private static string GenerateCopyright()
{
string startYear = StartYear();
string currentYear = CurrentYear();
if (startYear == currentYear)
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
else
{
//return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear);
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear));
}
}
#endregion
#region Programm-Info
/// <summary>
/// Contains the name of the program file
/// </summary>
public static string ProgramName { set; get; }
/// <summary>
/// Contains the version of the program file
/// </summary>
public static string ProgramVersion { set; get; }
/// <summary>
/// Contains the copyright notice
/// </summary>
public static string Copyright { set; get; }
private void SetProgramInfo()
{
//Name, Version und Copyright setzen
ProgramName = programName;
ProgramVersion = programVersion;
Copyright = copyright;
}
#endregion
public Form1()
{
SetProgramInfo();
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ShowInformation(); //Programm- und DLL-Information anzeigen
}
private void ShowInformation()
{
labelProgramInfo.Text = String.Concat(ProgramName, "\n", ProgramVersion, "\n", Copyright); //Programm-Information anzeigen
// DLL-Information anzeigen
labelDLLInfo.Text = String.Concat(MessageBoxEx.DllName, "\n", MessageBoxEx.DllVersion, "\n", MessageBoxEx.Copyright);
}
private void button1_Click(object sender, EventArgs e)
{
//--------------------------------------------------------------
//--- Diesen Bereich ins eigene Programm einfügen --- Anfang ---
//--------------------------------------------------------------
string result = OwnMessageBox();
MessageBox.Show("Als Ergebnis wurde " + result + " zurückgegeben.\n\nDll-Information:\n" + MessageBoxEx.DllName + "\n" + MessageBoxEx.DllVersion + "\n" + MessageBoxEx.Copyright);
this.Close();
}
private string OwnMessageBox()
{
MessageBoxEx msgBox = MessageBoxExManager.CreateMessageBox("OwnMessageBox"); //ATTENTION: Name must be unique
msgBox.Caption = "OwnMessageBox";
msgBox.Text = "Das ist eine eigene MessagBox.";
msgBox.AllowSaveResponse = false;
msgBox.SaveResponseText = "<Save Response Text>";
msgBox.UseSavedResponse = false;
msgBox.Timeout = 0;
msgBox.TimeoutResult = default;
msgBox.PlayAlsertSound = false;
msgBox.Font = new Font("Tahoma", 8);
//Use a standard icon
msgBox.Icon = MessageBoxExIcon.Asterisk;
MessageBoxExButton btnOK = new MessageBoxExButton();
btnOK.Text = "OK";
btnOK.Value = "OK";
btnOK.HelpText = "";
btnOK.IsCancelButton = false;
msgBox.AddButton(btnOK);
return msgBox.Show(); //Returns the result
}
//--------------------------------------------------------------
//--- Diesen Bereich ins eigene Programm einfügen --- Ende ---
//--------------------------------------------------------------
}
}

View File

@ -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>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test_MessageBoxExLib
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("Test_MessageBoxExLib")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Test_MessageBoxExLib")]
[assembly: AssemblyCopyright("Copyright © 2020 by Eugen Höglinger")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("d94c977c-cfe3-4792-8d13-24dc5c750587")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion: 4.0.30319.42000
//
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
// der Code neu generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Test_MessageBoxExLib.Properties
{
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder-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 Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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 ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Test_MessageBoxExLib.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenlookups, 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;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?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.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="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</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="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" 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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Test_MessageBoxExLib.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D94C977C-CFE3-4792-8D13-24DC5C750587}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Test_MessageBoxExLib</RootNamespace>
<AssemblyName>Test_MessageBoxExLib</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>false</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="MessageBoxExLib, Version=1.0.7542.26314, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\MessageBoxExLib\bin\Debug\MessageBoxExLib.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@ -0,0 +1 @@
7ecfa1ec46b8471c7a197096eb9cf24859678cb3

Some files were not shown because too many files have changed in this diff Show More