Hi
I try to compile this cs app
RegEx Tester - Regular Expression Tester
Pablo Osés, 22 May 2011
I'm converted the original project to one file as shown below
and when I command line compile it I get thes errors:
The name 'HttpUtility' does not exist in the current context
The name 'interaction' does not exist in the current context
Please can someone help me in this.
<pre>
using System;
using System.Text;
using System.Drawing;
using System.Diagnostics;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Threading;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using Microsoft.Win32;
using System.Runtime.InteropServices;
using System.Web;
using Microsoft.VisualBasic;
namespace RegExTester
{
public class Program
{
[STAThread]
public static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());
}
}}
namespace RegExTester
{
partial class frmMain
{
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
this.statusBar = new System.Windows.Forms.StatusBar();
this.statusStatusBarPanel = new System.Windows.Forms.StatusBarPanel();
this.matchesStatusBarPanel = new System.Windows.Forms.StatusBarPanel();
this.executionTimeStatusBarPanel = new System.Windows.Forms.StatusBarPanel();
this.contextStatusBarPanel = new System.Windows.Forms.StatusBarPanel();
this.topAndMiddleSplitContainer = new System.Windows.Forms.SplitContainer();
this.aboutButton = new System.Windows.Forms.Button();
this.regExLibraryButton = new System.Windows.Forms.Button();
this.regExCheatSheetButton = new System.Windows.Forms.Button();
this.replaceModeButton = new System.Windows.Forms.Button();
this.indentedInputButton = new System.Windows.Forms.Button();
this.singleLineButton = new System.Windows.Forms.Button();
this.multiLineButton = new System.Windows.Forms.Button();
this.cultureInvariantButton = new System.Windows.Forms.Button();
this.ignoreCaseButton = new System.Windows.Forms.Button();
this.replaceModeCheckBox = new System.Windows.Forms.CheckBox();
this.indentedInputCheckBox = new System.Windows.Forms.CheckBox();
this.copyButton = new System.Windows.Forms.Button();
this.testButton = new System.Windows.Forms.Button();
this.singleLineCheckBox = new System.Windows.Forms.CheckBox();
this.multiLineCheckBox = new System.Windows.Forms.CheckBox();
this.ignoreCaseCheckBox = new System.Windows.Forms.CheckBox();
this.cultureInvariantCheckBox = new System.Windows.Forms.CheckBox();
this.regExAndRepExSplitContainer = new System.Windows.Forms.SplitContainer();
this.regExLabel = new System.Windows.Forms.Label();
this.regExTextBox = new System.Windows.Forms.TextBox();
this.repExLabel = new System.Windows.Forms.Label();
this.repExTextBox = new System.Windows.Forms.TextBox();
this.middleAndBottomSplitContainer = new System.Windows.Forms.SplitContainer();
this.textAndResultsSplitContainer = new System.Windows.Forms.SplitContainer();
this.textLabel = new System.Windows.Forms.Label();
this.textRichTextBox = new RegExTester.CustomRichTextBox();
this.resultsLabel = new System.Windows.Forms.Label();
this.resultsRichTextBox = new RegExTester.CustomRichTextBox();
this.exportResultsButton = new System.Windows.Forms.Button();
this.resultListView = new System.Windows.Forms.ListView();
this.matchColumnHeader = new System.Windows.Forms.ColumnHeader();
this.positionColumnHeader = new System.Windows.Forms.ColumnHeader();
this.lengthColumnHeader = new System.Windows.Forms.ColumnHeader();
this.resultsListLabel = new System.Windows.Forms.Label();
this.copyButtonContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.copyGeneric0MenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.copyGeneric1MenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.copyGeneric2MenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.copyGeneric3MenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exportSaveFileDialog = new System.Windows.Forms.SaveFileDialog();
((System.ComponentModel.ISupportInitialize)(this.statusStatusBarPanel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.matchesStatusBarPanel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.executionTimeStatusBarPanel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.contextStatusBarPanel)).BeginInit();
this.topAndMiddleSplitContainer.Panel1.SuspendLayout();
this.topAndMiddleSplitContainer.Panel2.SuspendLayout();
this.topAndMiddleSplitContainer.SuspendLayout();
this.regExAndRepExSplitContainer.Panel1.SuspendLayout();
this.regExAndRepExSplitContainer.Panel2.SuspendLayout();
this.regExAndRepExSplitContainer.SuspendLayout();
this.middleAndBottomSplitContainer.Panel1.SuspendLayout();
this.middleAndBottomSplitContainer.Panel2.SuspendLayout();
this.middleAndBottomSplitContainer.SuspendLayout();
this.textAndResultsSplitContainer.Panel1.SuspendLayout();
this.textAndResultsSplitContainer.Panel2.SuspendLayout();
this.textAndResultsSplitContainer.SuspendLayout();
this.copyButtonContextMenu.SuspendLayout();
this.SuspendLayout();
this.statusBar.Location = new System.Drawing.Point(0, 435);
this.statusBar.Name = "statusBar";
this.statusBar.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {
this.statusStatusBarPanel,
this.matchesStatusBarPanel,
this.executionTimeStatusBarPanel,
this.contextStatusBarPanel});
this.statusBar.ShowPanels = true;
this.statusBar.Size = new System.Drawing.Size(592, 22);
this.statusBar.TabIndex = 1;
this.statusBar.Text = "statusBar";
this.statusStatusBarPanel.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring;
this.statusStatusBarPanel.Name = "sbpStatus";
this.statusStatusBarPanel.Text = "Nothing searched yet.";
this.statusStatusBarPanel.Width = 546;
this.matchesStatusBarPanel.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Contents;
this.matchesStatusBarPanel.MinWidth = 0;
this.matchesStatusBarPanel.Name = "sbpMatches";
this.matchesStatusBarPanel.Width = 10;
this.executionTimeStatusBarPanel.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Contents;
this.executionTimeStatusBarPanel.MinWidth = 0;
this.executionTimeStatusBarPanel.Name = "sbpExecutionTime";
this.executionTimeStatusBarPanel.Width = 10;
this.contextStatusBarPanel.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Contents;
this.contextStatusBarPanel.MinWidth = 0;
this.contextStatusBarPanel.Name = "sbpContext";
this.contextStatusBarPanel.Width = 10;
this.topAndMiddleSplitContainer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.topAndMiddleSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
this.topAndMiddleSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
this.topAndMiddleSplitContainer.IsSplitterFixed = true;
this.topAndMiddleSplitContainer.Location = new System.Drawing.Point(0, 0);
this.topAndMiddleSplitContainer.Name = "topAndMiddleSplitContainer";
this.topAndMiddleSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.aboutButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.regExLibraryButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.regExCheatSheetButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.replaceModeButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.indentedInputButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.singleLineButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.multiLineButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.cultureInvariantButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.ignoreCaseButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.replaceModeCheckBox);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.indentedInputCheckBox);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.copyButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.testButton);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.singleLineCheckBox);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.multiLineCheckBox);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.ignoreCaseCheckBox);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.cultureInvariantCheckBox);
this.topAndMiddleSplitContainer.Panel1.Controls.Add(this.regExAndRepExSplitContainer);
this.topAndMiddleSplitContainer.Panel1MinSize = 100;
this.topAndMiddleSplitContainer.Panel2.Controls.Add(this.middleAndBottomSplitContainer);
this.topAndMiddleSplitContainer.Size = new System.Drawing.Size(592, 435);
this.topAndMiddleSplitContainer.SplitterDistance = 100;
this.topAndMiddleSplitContainer.TabIndex = 0;
this.aboutButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.aboutButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.aboutButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.aboutButton.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.aboutButton.ForeColor = System.Drawing.Color.Blue;
this.aboutButton.Location = new System.Drawing.Point(438, 1);
this.aboutButton.Name = "aboutButton";
this.aboutButton.Size = new System.Drawing.Size(137, 25);
this.aboutButton.TabIndex = 31;
this.aboutButton.Text = "About This Program";
this.aboutButton.UseVisualStyleBackColor = true;
this.aboutButton.Click += new System.EventHandler(this.aboutButton_Click);
this.regExLibraryButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.regExLibraryButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.regExLibraryButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.regExLibraryButton.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.regExLibraryButton.ForeColor = System.Drawing.Color.Blue;
this.regExLibraryButton.Location = new System.Drawing.Point(328, 1);
this.regExLibraryButton.Name = "regExLibraryButton";
this.regExLibraryButton.Size = new System.Drawing.Size(102, 25);
this.regExLibraryButton.TabIndex = 30;
this.regExLibraryButton.Text = "RegEx Library";
this.regExLibraryButton.UseVisualStyleBackColor = true;
this.regExLibraryButton.Click += new System.EventHandler(this.regExLibraryButton_Click);
this.regExCheatSheetButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.regExCheatSheetButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.regExCheatSheetButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.regExCheatSheetButton.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.regExCheatSheetButton.ForeColor = System.Drawing.Color.Blue;
this.regExCheatSheetButton.Location = new System.Drawing.Point(186, 1);
this.regExCheatSheetButton.Name = "regExCheatSheetButton";
this.regExCheatSheetButton.Size = new System.Drawing.Size(127, 25);
this.regExCheatSheetButton.TabIndex = 28;
this.regExCheatSheetButton.Text = "RegEx CheatSheet";
this.regExCheatSheetButton.UseVisualStyleBackColor = true;
this.regExCheatSheetButton.Click += new System.EventHandler(this.regExCheatSheetButton_Click);
this.replaceModeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.replaceModeButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.replaceModeButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.replaceModeButton.ForeColor = System.Drawing.Color.Blue;
this.replaceModeButton.Location = new System.Drawing.Point(375, 73);
this.replaceModeButton.Name = "replaceModeButton";
this.replaceModeButton.Size = new System.Drawing.Size(22, 22);
this.replaceModeButton.TabIndex = 24;
this.replaceModeButton.Text = "?";
this.replaceModeButton.UseVisualStyleBackColor = true;
this.replaceModeButton.Click += new System.EventHandler(this.replaceModeButton_Click);
this.indentedInputButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.indentedInputButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.indentedInputButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.indentedInputButton.ForeColor = System.Drawing.Color.Blue;
this.indentedInputButton.Location = new System.Drawing.Point(380, 51);
this.indentedInputButton.Name = "indentedInputButton";
this.indentedInputButton.Size = new System.Drawing.Size(22, 22);
this.indentedInputButton.TabIndex = 23;
this.indentedInputButton.Text = "?";
this.indentedInputButton.UseVisualStyleBackColor = true;
this.indentedInputButton.Click += new System.EventHandler(this.indentedInputButton_Click);
this.singleLineButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.singleLineButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.singleLineButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.singleLineButton.ForeColor = System.Drawing.Color.Blue;
this.singleLineButton.Location = new System.Drawing.Point(243, 73);
this.singleLineButton.Name = "singleLineButton";
this.singleLineButton.Size = new System.Drawing.Size(22, 22);
this.singleLineButton.TabIndex = 22;
this.singleLineButton.Text = "?";
this.singleLineButton.UseVisualStyleBackColor = true;
this.singleLineButton.Click += new System.EventHandler(this.singleLineButton_Click);
this.multiLineButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.multiLineButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.multiLineButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.multiLineButton.ForeColor = System.Drawing.Color.Blue;
this.multiLineButton.Location = new System.Drawing.Point(232, 51);
this.multiLineButton.Name = "multiLineButton";
this.multiLineButton.Size = new System.Drawing.Size(22, 22);
this.multiLineButton.TabIndex = 21;
this.multiLineButton.Text = "?";
this.multiLineButton.UseVisualStyleBackColor = true;
this.multiLineButton.Click += new System.EventHandler(this.multiLineButton_Click);
this.cultureInvariantButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.cultureInvariantButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.cultureInvariantButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cultureInvariantButton.ForeColor = System.Drawing.Color.Blue;
this.cultureInvariantButton.Location = new System.Drawing.Point(130, 73);
this.cultureInvariantButton.Name = "cultureInvariantButton";
this.cultureInvariantButton.Size = new System.Drawing.Size(22, 22);
this.cultureInvariantButton.TabIndex = 20;
this.cultureInvariantButton.Text = "?";
this.cultureInvariantButton.UseVisualStyleBackColor = true;
this.cultureInvariantButton.Click += new System.EventHandler(this.cultureInvariantButton_Click);
this.ignoreCaseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.ignoreCaseButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.ignoreCaseButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.ignoreCaseButton.ForeColor = System.Drawing.Color.Blue;
this.ignoreCaseButton.Location = new System.Drawing.Point(102, 51);
this.ignoreCaseButton.Name = "ignoreCaseButton";
this.ignoreCaseButton.Size = new System.Drawing.Size(22, 22);
this.ignoreCaseButton.TabIndex = 19;
this.ignoreCaseButton.Text = "?";
this.ignoreCaseButton.UseVisualStyleBackColor = true;
this.ignoreCaseButton.Click += new System.EventHandler(this.ignoreCaseButton_Click);
this.replaceModeCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.replaceModeCheckBox.CausesValidation = false;
this.replaceModeCheckBox.Checked = true;
this.replaceModeCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.replaceModeCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.replaceModeCheckBox.Location = new System.Drawing.Point(275, 73);
this.replaceModeCheckBox.Name = "replaceModeCheckBox";
this.replaceModeCheckBox.Size = new System.Drawing.Size(127, 22);
this.replaceModeCheckBox.TabIndex = 15;
this.replaceModeCheckBox.Text = "Replace mode";
this.replaceModeCheckBox.CheckedChanged += new System.EventHandler(this.replaceModeCheckBox_CheckedChanged);
this.indentedInputCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.indentedInputCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.indentedInputCheckBox.Location = new System.Drawing.Point(275, 51);
this.indentedInputCheckBox.Name = "indentedInputCheckBox";
this.indentedInputCheckBox.Size = new System.Drawing.Size(127, 22);
this.indentedInputCheckBox.TabIndex = 13;
this.indentedInputCheckBox.Text = "Indented Input";
this.indentedInputCheckBox.CheckedChanged += new System.EventHandler(this.indentedInputCheckBox_CheckedChanged);
this.copyButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.copyButton.Location = new System.Drawing.Point(405, 56);
this.copyButton.Name = "copyButton";
this.copyButton.Size = new System.Drawing.Size(75, 34);
this.copyButton.TabIndex = 17;
this.copyButton.Text = "Copy";
this.copyButton.UseVisualStyleBackColor = true;
this.copyButton.Click += new System.EventHandler(this.copyButton_Click);
this.testButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.testButton.Location = new System.Drawing.Point(486, 56);
this.testButton.Name = "testButton";
this.testButton.Size = new System.Drawing.Size(92, 34);
this.testButton.TabIndex = 18;
this.testButton.Text = "Test [F5]";
this.testButton.Click += new System.EventHandler(this.testButton_Click);
this.singleLineCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.singleLineCheckBox.Checked = true;
this.singleLineCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.singleLineCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.singleLineCheckBox.Location = new System.Drawing.Point(160, 73);
this.singleLineCheckBox.Name = "singleLineCheckBox";
this.singleLineCheckBox.Size = new System.Drawing.Size(109, 22);
this.singleLineCheckBox.TabIndex = 11;
this.singleLineCheckBox.Text = "Single Line";
this.multiLineCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.multiLineCheckBox.Checked = true;
this.multiLineCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.multiLineCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.multiLineCheckBox.Location = new System.Drawing.Point(160, 51);
this.multiLineCheckBox.Name = "multiLineCheckBox";
this.multiLineCheckBox.Size = new System.Drawing.Size(109, 22);
this.multiLineCheckBox.TabIndex = 9;
this.multiLineCheckBox.Text = "Multi Line";
this.ignoreCaseCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.ignoreCaseCheckBox.Checked = true;
this.ignoreCaseCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.ignoreCaseCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.ignoreCaseCheckBox.Location = new System.Drawing.Point(11, 51);
this.ignoreCaseCheckBox.Name = "ignoreCaseCheckBox";
this.ignoreCaseCheckBox.Size = new System.Drawing.Size(142, 22);
this.ignoreCaseCheckBox.TabIndex = 5;
this.ignoreCaseCheckBox.Text = "Ignore Case";
this.cultureInvariantCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.cultureInvariantCheckBox.Checked = true;
this.cultureInvariantCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.cultureInvariantCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
this.cultureInvariantCheckBox.Location = new System.Drawing.Point(11, 73);
this.cultureInvariantCheckBox.Name = "cultureInvariantCheckBox";
this.cultureInvariantCheckBox.Size = new System.Drawing.Size(142, 22);
this.cultureInvariantCheckBox.TabIndex = 7;
this.cultureInvariantCheckBox.Text = "Culture Invariant";
this.regExAndRepExSplitContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.regExAndRepExSplitContainer.Location = new System.Drawing.Point(11, 5);
this.regExAndRepExSplitContainer.Name = "regExAndRepExSplitContainer";
this.regExAndRepExSplitContainer.Panel1.Controls.Add(this.regExLabel);
this.regExAndRepExSplitContainer.Panel1.Controls.Add(this.regExTextBox);
this.regExAndRepExSplitContainer.Panel2.Controls.Add(this.repExLabel);
this.regExAndRepExSplitContainer.Panel2.Controls.Add(this.repExTextBox);
this.regExAndRepExSplitContainer.Size = new System.Drawing.Size(567, 42);
this.regExAndRepExSplitContainer.SplitterDistance = 283;
this.regExAndRepExSplitContainer.TabIndex = 4;
this.regExLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.regExLabel.Location = new System.Drawing.Point(0, 3);
this.regExLabel.Name = "regExLabel";
this.regExLabel.Size = new System.Drawing.Size(283, 16);
this.regExLabel.TabIndex = 1;
this.regExLabel.Text = "Regular Expression";
this.regExTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.regExTextBox.HideSelection = false;
this.regExTextBox.Location = new System.Drawing.Point(0, 21);
this.regExTextBox.Name = "regExTextBox";
this.regExTextBox.Size = new System.Drawing.Size(283, 21);
this.regExTextBox.TabIndex = 0;
this.repExLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.repExLabel.Location = new System.Drawing.Point(0, 3);
this.repExLabel.Name = "repExLabel";
this.repExLabel.Size = new System.Drawing.Size(284, 16);
this.repExLabel.TabIndex = 2;
this.repExLabel.Text = "Replacement Expression";
this.repExTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.repExTextBox.HideSelection = false;
this.repExTextBox.Location = new System.Drawing.Point(0, 21);
this.repExTextBox.Name = "repExTextBox";
this.repExTextBox.Size = new System.Drawing.Size(280, 21);
this.repExTextBox.TabIndex = 0;
this.middleAndBottomSplitContainer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.middleAndBottomSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
this.middleAndBottomSplitContainer.Location = new System.Drawing.Point(0, 0);
this.middleAndBottomSplitContainer.Name = "middleAndBottomSplitContainer";
this.middleAndBottomSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.middleAndBottomSplitContainer.Panel1.Controls.Add(this.textAndResultsSplitContainer);
this.middleAndBottomSplitContainer.Panel1MinSize = 61;
this.middleAndBottomSplitContainer.Panel2.Controls.Add(this.exportResultsButton);
this.middleAndBottomSplitContainer.Panel2.Controls.Add(this.resultListView);
this.middleAndBottomSplitContainer.Panel2.Controls.Add(this.resultsListLabel);
this.middleAndBottomSplitContainer.Panel2MinSize = 89;
this.middleAndBottomSplitContainer.Size = new System.Drawing.Size(592, 331);
this.middleAndBottomSplitContainer.SplitterDistance = 191;
this.middleAndBottomSplitContainer.TabIndex = 0;
this.textAndResultsSplitContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textAndResultsSplitContainer.Location = new System.Drawing.Point(11, 9);
this.textAndResultsSplitContainer.Name = "textAndResultsSplitContainer";
this.textAndResultsSplitContainer.Panel1.Controls.Add(this.textLabel);
this.textAndResultsSplitContainer.Panel1.Controls.Add(this.textRichTextBox);
this.textAndResultsSplitContainer.Panel2.Controls.Add(this.resultsLabel);
this.textAndResultsSplitContainer.Panel2.Controls.Add(this.resultsRichTextBox);
this.textAndResultsSplitContainer.Size = new System.Drawing.Size(567, 166);
this.textAndResultsSplitContainer.SplitterDistance = 283;
this.textAndResultsSplitContainer.TabIndex = 1;
this.textLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textLabel.Location = new System.Drawing.Point(-3, 0);
this.textLabel.Name = "textLabel";
this.textLabel.Size = new System.Drawing.Size(286, 16);
this.textLabel.TabIndex = 1;
this.textLabel.Text = "Test Text";
this.textRichTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textRichTextBox.HideSelection = false;
this.textRichTextBox.Location = new System.Drawing.Point(0, 19);
this.textRichTextBox.Name = "textRichTextBox";
this.textRichTextBox.Size = new System.Drawing.Size(283, 147);
this.textRichTextBox.TabIndex = 0;
this.textRichTextBox.Text = "";
this.resultsLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.resultsLabel.Location = new System.Drawing.Point(-3, 0);
this.resultsLabel.Name = "resultsLabel";
this.resultsLabel.Size = new System.Drawing.Size(287, 16);
this.resultsLabel.TabIndex = 2;
this.resultsLabel.Text = "Test Results";
this.resultsRichTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.resultsRichTextBox.HideSelection = false;
this.resultsRichTextBox.Location = new System.Drawing.Point(0, 19);
this.resultsRichTextBox.Name = "resultsRichTextBox";
this.resultsRichTextBox.Size = new System.Drawing.Size(280, 147);
this.resultsRichTextBox.TabIndex = 0;
this.resultsRichTextBox.Text = "";
this.exportResultsButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.exportResultsButton.FlatAppearance.BorderColor = System.Drawing.SystemColors.Control;
this.exportResultsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.exportResultsButton.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.exportResultsButton.ForeColor = System.Drawing.Color.Blue;
this.exportResultsButton.Location = new System.Drawing.Point(473, 1);
this.exportResultsButton.Name = "exportResultsButton";
this.exportResultsButton.Size = new System.Drawing.Size(102, 25);
this.exportResultsButton.TabIndex = 32;
this.exportResultsButton.Text = "Export Results (CSV)";
this.exportResultsButton.UseVisualStyleBackColor = true;
this.exportResultsButton.Click += new System.EventHandler(this.exportResultsButton_Click);
this.resultListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.resultListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.matchColumnHeader,
this.positionColumnHeader,
this.lengthColumnHeader});
this.resultListView.FullRowSelect = true;
this.resultListView.GridLines = true;
this.resultListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.resultListView.HideSelection = false;
this.resultListView.Location = new System.Drawing.Point(11, 27);
this.resultListView.MultiSelect = false;
this.resultListView.Name = "resultListView";
this.resultListView.Size = new System.Drawing.Size(567, 91);
this.resultListView.TabIndex = 1;
this.resultListView.UseCompatibleStateImageBehavior = false;
this.resultListView.View = System.Windows.Forms.View.Details;
this.resultListView.SelectedIndexChanged += new System.EventHandler(this.resultListView_SelectedIndexChanged);
this.matchColumnHeader.Text = "Match";
this.matchColumnHeader.Width = 350;
this.positionColumnHeader.Text = "Position";
this.lengthColumnHeader.Text = "Length";
this.resultsListLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.resultsListLabel.Location = new System.Drawing.Point(8, 9);
this.resultsListLabel.Name = "resultsListLabel";
this.resultsListLabel.Size = new System.Drawing.Size(570, 15);
this.resultsListLabel.TabIndex = 0;
this.resultsListLabel.Text = "Test Results";
this.copyButtonContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.copyGeneric0MenuItem,
this.copyGeneric1MenuItem,
this.copyGeneric2MenuItem,
this.copyGeneric3MenuItem});
this.copyButtonContextMenu.Name = "btnCopyContextMenuStrip";
this.copyButtonContextMenu.Size = new System.Drawing.Size(163, 92);
this.copyGeneric0MenuItem.Image = global::RegExTester.Properties.Resources.CSharpSnippet;
this.copyGeneric0MenuItem.Name = "copyGeneric0MenuItem";
this.copyGeneric0MenuItem.Size = new System.Drawing.Size(162, 22);
this.copyGeneric0MenuItem.Tag = "csharp snippet";
this.copyGeneric0MenuItem.Text = "C# code &snippet";
this.copyGeneric0MenuItem.Click += new System.EventHandler(this.copyGeneric0MenuItem_Click);
this.copyGeneric1MenuItem.Image = global::RegExTester.Properties.Resources.CSharp;
this.copyGeneric1MenuItem.Name = "copyGeneric1MenuItem";
this.copyGeneric1MenuItem.Size = new System.Drawing.Size(162, 22);
this.copyGeneric1MenuItem.Tag = "csharp";
this.copyGeneric1MenuItem.Text = "&C# escaped string";
this.copyGeneric1MenuItem.Click += new System.EventHandler(this.copyGeneric0MenuItem_Click);
this.copyGeneric2MenuItem.Image = global::RegExTester.Properties.Resources.Html;
this.copyGeneric2MenuItem.Name = "copyGeneric2MenuItem";
this.copyGeneric2MenuItem.Size = new System.Drawing.Size(162, 22);
this.copyGeneric2MenuItem.Tag = "html";
this.copyGeneric2MenuItem.Text = "&HTML encoded";
this.copyGeneric2MenuItem.Click += new System.EventHandler(this.copyGeneric0MenuItem_Click);
this.copyGeneric3MenuItem.Image = global::RegExTester.Properties.Resources.Plain;
this.copyGeneric3MenuItem.Name = "copyGeneric3MenuItem";
this.copyGeneric3MenuItem.Size = new System.Drawing.Size(162, 22);
this.copyGeneric3MenuItem.Tag = "plain";
this.copyGeneric3MenuItem.Text = "&Plain text";
this.copyGeneric3MenuItem.Click += new System.EventHandler(this.copyGeneric0MenuItem_Click);
this.exportSaveFileDialog.DefaultExt = "csv";
this.exportSaveFileDialog.Filter = "Comma Separated Values|*.csv|All files|*.*";
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(592, 457);
this.Controls.Add(this.topAndMiddleSplitContainer);
this.Controls.Add(this.statusBar);
this.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.MinimumSize = new System.Drawing.Size(600, 390);
this.Name = "frmMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "RegEx Tester";
this.Load += new System.EventHandler(this.MainForm_Load);
this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyUp);
((System.ComponentModel.ISupportInitialize)(this.statusStatusBarPanel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.matchesStatusBarPanel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.executionTimeStatusBarPanel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.contextStatusBarPanel)).EndInit();
this.topAndMiddleSplitContainer.Panel1.ResumeLayout(false);
this.topAndMiddleSplitContainer.Panel2.ResumeLayout(false);
this.topAndMiddleSplitContainer.ResumeLayout(false);
this.regExAndRepExSplitContainer.Panel1.ResumeLayout(false);
this.regExAndRepExSplitContainer.Panel1.PerformLayout();
this.regExAndRepExSplitContainer.Panel2.ResumeLayout(false);
this.regExAndRepExSplitContainer.Panel2.PerformLayout();
this.regExAndRepExSplitContainer.ResumeLayout(false);
this.middleAndBottomSplitContainer.Panel1.ResumeLayout(false);
this.middleAndBottomSplitContainer.Panel2.ResumeLayout(false);
this.middleAndBottomSplitContainer.ResumeLayout(false);
this.textAndResultsSplitContainer.Panel1.ResumeLayout(false);
this.textAndResultsSplitContainer.Panel2.ResumeLayout(false);
this.textAndResultsSplitContainer.ResumeLayout(false);
this.copyButtonContextMenu.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private StatusBar statusBar;
private StatusBarPanel statusStatusBarPanel;
private StatusBarPanel contextStatusBarPanel;
private SplitContainer topAndMiddleSplitContainer;
private SplitContainer middleAndBottomSplitContainer;
private Button copyButton;
private Button testButton;
private CheckBox cultureInvariantCheckBox;
private CheckBox singleLineCheckBox;
private CheckBox multiLineCheckBox;
private CheckBox ignoreCaseCheckBox;
private Label resultsListLabel;
private ListView resultListView;
private ColumnHeader matchColumnHeader;
private ColumnHeader positionColumnHeader;
private ColumnHeader lengthColumnHeader;
private CheckBox indentedInputCheckBox;
private System.ComponentModel.IContainer components;
private ContextMenuStrip copyButtonContextMenu;
private ToolStripMenuItem copyGeneric1MenuItem;
private ToolStripMenuItem copyGeneric2MenuItem;
private ToolStripMenuItem copyGeneric3MenuItem;
private CheckBox replaceModeCheckBox;
private SplitContainer textAndResultsSplitContainer;
private CustomRichTextBox resultsRichTextBox;
private CustomRichTextBox textRichTextBox;
private SplitContainer regExAndRepExSplitContainer;
private TextBox regExTextBox;
private TextBox repExTextBox;
private ToolStripMenuItem copyGeneric0MenuItem;
private Label textLabel;
private Label resultsLabel;
private Label regExLabel;
private Label repExLabel;
private StatusBarPanel matchesStatusBarPanel;
private StatusBarPanel executionTimeStatusBarPanel;
private Button ignoreCaseButton;
private Button cultureInvariantButton;
private Button multiLineButton;
private Button singleLineButton;
private Button replaceModeButton;
private Button indentedInputButton;
private Button aboutButton;
private Button regExLibraryButton;
private Button regExCheatSheetButton;
private SaveFileDialog exportSaveFileDialog;
private Button exportResultsButton;
} }
namespace RegExTester
{
public partial class frmMain : Form
{
private const string STOPPED_MODE_BUTTON_TEXT = "Test [F5]";
private const string RUNNING_MODE_BUTTON_TEXT = "Stop [Esc]";
private Thread worker;
public frmMain()
{
InitializeComponent();
ActiveControl = regExTextBox;
}
private void MainForm_Load(object sender, System.EventArgs e)
{
this.Text += " - v" + Application.ProductVersion.ToString();
contextStatusBarPanel.Text = string.Format("CLR {0}.{1}", Environment.Version.Major, Environment.Version.Minor);
Control.CheckForIllegalCrossThreadCalls = false;
replaceModeCheckBox.Checked = false;
}
private void MainForm_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F5 && testButton.Text == STOPPED_MODE_BUTTON_TEXT && !e.Control && !e.Alt && !e.Shift)
{
StartTest();
}
else if (e.KeyCode == Keys.Escape && testButton.Text == RUNNING_MODE_BUTTON_TEXT && !e.Control && !e.Alt && !e.Shift)
{
AbortTest();
}
}
private void testButton_Click(object sender, System.EventArgs e)
{
if (testButton.Text == STOPPED_MODE_BUTTON_TEXT)
{
StartTest();
}
else if (testButton.Text == RUNNING_MODE_BUTTON_TEXT)
{
AbortTest();
}
}
#region Test/Evaluate Feature implementation
private void StartTest()
{
statusStatusBarPanel.Text = "Creating the Test Thread...";
worker = new Thread(AsyncTest);
worker.IsBackground = true;
worker.Start();
}
private void AbortTest()
{
if (worker.IsAlive)
worker.Abort();
}
private void AsyncTest()
{
int rtbSelectionStart = int.MinValue;
int rtbSelectionLength = int.MinValue;
int matchesFound = 0;
int matchesProcessed = 0;
DateTime startMoment = DateTime.Now;
try
{
statusStatusBarPanel.Text = "Making UI Adjustments...";
testButton.Text = RUNNING_MODE_BUTTON_TEXT;
matchesStatusBarPanel.Text = string.Empty;
executionTimeStatusBarPanel.Text = string.Empty;
statusStatusBarPanel.Text = "Configuring the RegEx engine...";
RegexOptions regexOptions = new RegexOptions();
if (ignoreCaseCheckBox.Checked) regexOptions |= RegexOptions.IgnoreCase;
if (cultureInvariantCheckBox.Checked) regexOptions |= RegexOptions.CultureInvariant;
if (multiLineCheckBox.Checked) regexOptions |= RegexOptions.Multiline;
if (singleLineCheckBox.Checked) regexOptions |= RegexOptions.Singleline;
if (indentedInputCheckBox.Checked) regexOptions |= RegexOptions.IgnorePatternWhitespace;
statusStatusBarPanel.Text = "Creating the RegEx Engine and parsing the RegEx string...";
Regex regex = new Regex(regExTextBox.Text, regexOptions);
statusStatusBarPanel.Text = "Evaluating the RegEx against the Test Text...";
MatchCollection matchCollection = regex.Matches(textRichTextBox.Text);
matchesFound = matchCollection.Count;
if (replaceModeCheckBox.Checked)
{
statusStatusBarPanel.Text = "Evaluating the RegEx Replace against the Test Text...";
resultsRichTextBox.Text = regex.Replace(textRichTextBox.Text, repExTextBox.Text);
}
statusStatusBarPanel.Text = "Preparing the Results grid...";
resultListView.Items.Clear();
for (int i = resultListView.Columns.Count; i > 3; i--)
resultListView.Columns.RemoveAt(i-1);
int[] groupNumbers = regex.GetGroupNumbers();
string[] groupNames = regex.GetGroupNames();
string groupName = null;
foreach (int groupNumber in groupNumbers)
{
if (groupNumber > 0)
{
groupName = "Group " + groupNumber;
if (groupNames[groupNumber] != groupNumber.ToString()) groupName += " (" + groupNames[groupNumber] + ")";
resultListView.Columns.Add(groupName, 100, HorizontalAlignment.Left);
}
}
rtbSelectionStart = textRichTextBox.SelectionStart;
rtbSelectionLength = textRichTextBox.SelectionLength;
textRichTextBox.SuspendLayout();
resultListView.SuspendLayout();
resultListView.BeginUpdate();
textRichTextBox.SelectAll();
textRichTextBox.SelectionColor = Color.Black;
statusStatusBarPanel.Text = "Processing the " + matchesFound + " matchs...";
foreach (Match match in matchCollection)
{
ListViewItem lvi = resultListView.Items.Add(match.ToString());
lvi.SubItems.Add(match.Index.ToString());
lvi.SubItems.Add(match.Length.ToString());
for (int c = 1; c < match.Groups.Count; c++)
{
Group group = match.Groups[c];
if (group.Captures.Count == 1)
lvi.SubItems.Add(group.Value);
else
{
StringBuilder capturedValues = new StringBuilder();
foreach (Capture capture in group.Captures)
{
if (capturedValues.Length > 0)
capturedValues.Append(" ¦ ");
capturedValues.Append(capture.Value);
}
lvi.SubItems.Add(capturedValues.ToString());
}
}
textRichTextBox.Select(match.Index, match.Length);
textRichTextBox.SelectionColor = Color.Red;
matchesProcessed++;
}
statusStatusBarPanel.Text = "Test success.";
}
catch (ThreadAbortException)
{
statusStatusBarPanel.Text = "Test aborted by the user.";
}
catch (Exception e)
{
statusStatusBarPanel.Text = "Test aborted by an error.";
MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
testButton.Text = STOPPED_MODE_BUTTON_TEXT;
if (rtbSelectionStart != int.MinValue && rtbSelectionLength != int.MinValue)
textRichTextBox.Select(rtbSelectionStart, rtbSelectionLength);
if (matchesProcessed == matchesFound)
matchesStatusBarPanel.Text = string.Format("{0} match(es).", matchesProcessed);
else
matchesStatusBarPanel.Text = string.Format("{0} match(es) of {1} found.", matchesProcessed, matchesFound);
TimeSpan executionTimeSpan = DateTime.Now.Subtract(startMoment);
if (executionTimeSpan.TotalHours > 1) executionTimeStatusBarPanel.Text = string.Format("{0} hs.", executionTimeSpan.TotalHours.ToString("##.##"));
else if (executionTimeSpan.TotalMinutes > 1) executionTimeStatusBarPanel.Text = string.Format("{0} mins.", executionTimeSpan.TotalMinutes.ToString("##.##"));
else if (executionTimeSpan.TotalSeconds > 1) executionTimeStatusBarPanel.Text = string.Format("{0} s.", executionTimeSpan.TotalSeconds.ToString("##.##"));
else if (executionTimeSpan.TotalMilliseconds > 1) executionTimeStatusBarPanel.Text = string.Format("{0} ms.", executionTimeSpan.TotalMilliseconds.ToString("#"));
resultListView.EndUpdate();
resultListView.ResumeLayout();
textRichTextBox.ResumeLayout();
}
}
private void resultListView_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (resultListView.SelectedItems.Count == 0) return;
textRichTextBox.Select(0, 0);
int position = Convert.ToInt32(resultListView.SelectedItems[0].SubItems[1].Text);
int length = Convert.ToInt32(resultListView.SelectedItems[0].SubItems[2].Text);
textRichTextBox.Select(position, length);
}
#endregion
#region IndentedInput and ReplaceMode UI adjustments
private void indentedInputCheckBox_CheckedChanged(object sender, EventArgs e)
{
if (indentedInputCheckBox.Checked)
{
regExTextBox.Multiline = repExTextBox.Multiline = true;
regExTextBox.AcceptsTab = repExTextBox.AcceptsTab = true;
regExTextBox.ScrollBars = repExTextBox.ScrollBars = ScrollBars.Vertical;
topAndMiddleSplitContainer.IsSplitterFixed = false;
topAndMiddleSplitContainer.SplitterDistance = 160;
}
else
{
regExTextBox.Multiline = repExTextBox.Multiline = false;
regExTextBox.AcceptsTab = repExTextBox.AcceptsTab = false;
regExTextBox.ScrollBars = repExTextBox.ScrollBars = ScrollBars.None;
topAndMiddleSplitContainer.SplitterDistance = 100;
topAndMiddleSplitContainer.IsSplitterFixed = true;
}
}
private void replaceModeCheckBox_CheckedChanged(object sender, EventArgs e)
{
if (replaceModeCheckBox.Checked)
{
regExAndRepExSplitContainer.Panel2Collapsed = false;
textAndResultsSplitContainer.Panel2Collapsed = false;
regExCheatSheetButton.Visible = false;
regExLibraryButton.Visible = false;
aboutButton.Visible = false;
}
else
{
regExAndRepExSplitContainer.Panel2Collapsed = true;
textAndResultsSplitContainer.Panel2Collapsed = true;
regExCheatSheetButton.Visible = true;
regExLibraryButton.Visible = true;
aboutButton.Visible = true;
}
}
#endregion
#region Copy Feature implementation
private void copyButton_Click(object sender, EventArgs e)
{
copyButtonContextMenu.Show(copyButton, new Point(0, copyButton.Height));
}
private void copyGeneric0MenuItem_Click(object sender, EventArgs e)
{
string regex = regExTextBox.Text;
string format = ((ToolStripMenuItem)sender).Tag.ToString();
if (format == "html")
{
regex = HttpUtility.HtmlEncode(regex);
}
else if (format.StartsWith("csharp"))
{
regex = string.Format("@\"{0}\"", regex.Replace("\"", "\"\""));
if (format.EndsWith("snippet"))
{
StringBuilder regexsb = new StringBuilder();
regexsb.Append("Regex regex = new Regex(");
if (indentedInputCheckBox.Checked && regex.Contains("\n"))
{
regexsb.Append("\r\n ");
regexsb.Append(Regex.Replace(regex, @"\r?\n", "$0 ", RegexOptions.Singleline));
}
else
regexsb.Append(regex);
if (ignoreCaseCheckBox.Checked || multiLineCheckBox.Checked || singleLineCheckBox.Checked || cultureInvariantCheckBox.Checked || indentedInputCheckBox.Checked)
{
regexsb.Append(", ");
if (indentedInputCheckBox.Checked && regex.Contains("\n"))
regexsb.Append("\r\n ");
if (ignoreCaseCheckBox.Checked) regexsb.Append("RegexOptions.IgnoreCase | ");
if (cultureInvariantCheckBox.Checked) regexsb.Append("RegexOptions.CultureInvariant | ");
if (multiLineCheckBox.Checked) regexsb.Append("RegexOptions.Multiline | ");
if (singleLineCheckBox.Checked) regexsb.Append("RegexOptions.Singleline | ");
if (indentedInputCheckBox.Checked) regexsb.Append("RegexOptions.IgnorePatternWhitespace | ");
regexsb.Remove(regexsb.Length - 3, 3);
}
regexsb.AppendLine(");");
regexsb.AppendLine("MatchCollection matchCollection = regex.Matches( [Target_string] );");
regexsb.AppendLine("foreach (Match match in matchCollection)");
regexsb.AppendLine("{");
regexsb.AppendLine(" do some work;");
regexsb.AppendLine("}");
regex = regexsb.ToString();
}
}
if (!string.IsNullOrEmpty(regex)) Clipboard.SetText(regex);
}
#endregion
#region Export Feature implementation
private void exportResultsButton_Click(object sender, EventArgs e)
{
if (resultListView.Items.Count < 1)
{
MessageBox.Show("There are no results to export.", "Export failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
statusStatusBarPanel.Text = "Export failed.";
return;
}
if (exportSaveFileDialog.ShowDialog() == DialogResult.OK)
{
StringBuilder sb = new StringBuilder();
bool firstColumn = true;
foreach (ColumnHeader columnHeader in resultListView.Columns)
{
if (!firstColumn)
sb.Append(",");
sb.AppendFormat("\"{0}\"", columnHeader.Text);
firstColumn = false;
}
sb.AppendLine();
foreach (ListViewItem listViewItem in resultListView.Items)
{
firstColumn = true;
foreach (ListViewItem.ListViewSubItem listViewSubItem in listViewItem.SubItems)
{
if (!firstColumn)
sb.Append(",");
sb.AppendFormat("\"{0}\"", listViewSubItem.Text);
firstColumn = false;
}
sb.AppendLine();
}
File.WriteAllText(exportSaveFileDialog.FileName, sb.ToString());
statusStatusBarPanel.Text = "Export saved.";
}
}
#endregion
#region Help links, Web Links and About
private void ignoreCaseButton_Click(object sender, EventArgs e)
{
MessageBox.Show("This option makes the RegEx case-insensitive which means that 'a' and 'A' are treated as the same letter.", "Ignore Case Option", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void cultureInvariantButton_Click(object sender, EventArgs e)
{
MessageBox.Show("If you use the Ignore Case Option you should always keep in mind the Culture Invariant Option because (\"file\" == \"FILE\") is True for many cultures (e.g. en-US) but it's False on some of them (e.g. tr-TR Turkish). Turning On this option is generally safer.", "Culture Invariant Option", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void multiLineButton_Click(object sender, EventArgs e)
{
MessageBox.Show("This option makes ^ and $ match beginning and end of each line insted of the beginning and end of the whole text.", "Treat as Multi Line Option", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void singleLineButton_Click(object sender, EventArgs e)
{
MessageBox.Show("This option makes . match every character including newline.", "Treat as Single Line Option", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void indentedInputButton_Click(object sender, EventArgs e)
{
MessageBox.Show(@"If you activate this option the RegEx will be stripped of \r \n \t \v and spaces before execution. This allows you to write thouse ugly, long and cryptic RegEx in an indented and spaced fashion. The whitespace characters still works inside character classes.", "Indented Input Option", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void replaceModeButton_Click(object sender, EventArgs e)
{
MessageBox.Show(@"You will be able to test a RegEx replacement expression. Remember that $0 represents the match and $N represents the Nth capture group.", "RegEx Replace Option", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void regExLibraryButton_Click(object sender, EventArgs e)
{
if (MessageBox.Show("This would open the uri http://regexlib.com/ in your default browser.", "RegEx Library", MessageBoxButtons.OKCancel) == DialogResult.OK)
Process.Start("http://regexlib.com/");
}
private void regExCheatSheetButton_Click(object sender, EventArgs e)
{
if (MessageBox.Show("This would open the uri http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/ in your default browser.", "RegEx CheatSheet", MessageBoxButtons.OKCancel) == DialogResult.OK)
Process.Start("http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/");
}
private void aboutButton_Click(object sender, EventArgs e)
{
frmAbout af = new frmAbout();
af.ShowDialog();
af.Dispose();
}
#endregion
}}namespace RegExTester
{
partial class CustomRichTextBox
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.tsmiUndo = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiRedo = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiCut = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiCopy = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiPaste = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiDelete = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiFind = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiFindNext = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiSelectAll = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiWordWrap = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip.SuspendLayout();
this.SuspendLayout();
this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsmiUndo,
this.tsmiRedo,
this.tsmiSeparator1,
this.tsmiCut,
this.tsmiCopy,
this.tsmiPaste,
this.tsmiDelete,
this.tsmiSeparator2,
this.tsmiFind,
this.tsmiFindNext,
this.tsmiSeparator3,
this.tsmiSelectAll,
this.tsmiSeparator4,
this.tsmiWordWrap});
this.contextMenuStrip.Name = "rtbTextContextMenuStrip";
this.contextMenuStrip.Size = new System.Drawing.Size(138, 248);
this.tsmiUndo.Image = global::RegExTester.Properties.Resources.Undo;
this.tsmiUndo.Name = "tsmiUndo";
this.tsmiUndo.Size = new System.Drawing.Size(137, 22);
this.tsmiUndo.Text = "&Undo";
this.tsmiUndo.Click += new System.EventHandler(this.tsmiUndo_Click);
this.tsmiRedo.Image = global::RegExTester.Properties.Resources.Redo;
this.tsmiRedo.Name = "tsmiRedo";
this.tsmiRedo.Size = new System.Drawing.Size(137, 22);
this.tsmiRedo.Text = "&Redo";
this.tsmiRedo.Click += new System.EventHandler(this.tsmiRedo_Click);
this.tsmiSeparator1.Name = "tsmiSeparator1";
this.tsmiSeparator1.Size = new System.Drawing.Size(134, 6);
this.tsmiCut.Image = global::RegExTester.Properties.Resources.Cut;
this.tsmiCut.Name = "tsmiCut";
this.tsmiCut.Size = new System.Drawing.Size(137, 22);
this.tsmiCut.Text = "Cu&t";
this.tsmiCut.Click += new System.EventHandler(this.tsmiCut_Click);
this.tsmiCopy.Image = global::RegExTester.Properties.Resources.Copy;
this.tsmiCopy.Name = "tsmiCopy";
this.tsmiCopy.Size = new System.Drawing.Size(137, 22);
this.tsmiCopy.Text = "&Copy";
this.tsmiCopy.Click += new System.EventHandler(this.tsmiCopy_Click);
this.tsmiPaste.Image = global::RegExTester.Properties.Resources.Paste;
this.tsmiPaste.Name = "tsmiPaste";
this.tsmiPaste.Size = new System.Drawing.Size(137, 22);
this.tsmiPaste.Text = "&Paste";
this.tsmiPaste.Click += new System.EventHandler(this.tsmiPaste_Click);
this.tsmiDelete.Image = global::RegExTester.Properties.Resources.Delete;
this.tsmiDelete.Name = "tsmiDelete";
this.tsmiDelete.Size = new System.Drawing.Size(137, 22);
this.tsmiDelete.Text = "&Delete";
this.tsmiDelete.Click += new System.EventHandler(this.tsmiDelete_Click);
this.tsmiSeparator2.Name = "tsmiSeparator2";
this.tsmiSeparator2.Size = new System.Drawing.Size(134, 6);
this.tsmiFind.Image = global::RegExTester.Properties.Resources.Find;
this.tsmiFind.Name = "tsmiFind";
this.tsmiFind.Size = new System.Drawing.Size(137, 22);
this.tsmiFind.Text = "&Find...";
this.tsmiFind.Click += new System.EventHandler(this.tsmiFind_Click);
this.tsmiFindNext.Image = global::RegExTester.Properties.Resources.FindNext;
this.tsmiFindNext.Name = "tsmiFindNext";
this.tsmiFindNext.Size = new System.Drawing.Size(137, 22);
this.tsmiFindNext.Text = "Find &Next";
this.tsmiFindNext.Click += new System.EventHandler(this.tsmiFindNext_Click);
this.tsmiSeparator3.Name = "tsmiSeparator3";
this.tsmiSeparator3.Size = new System.Drawing.Size(134, 6);
this.tsmiSelectAll.Image = global::RegExTester.Properties.Resources.Plain;
this.tsmiSelectAll.Name = "tsmiSelectAll";
this.tsmiSelectAll.Size = new System.Drawing.Size(137, 22);
this.tsmiSelectAll.Text = "Select &All";
this.tsmiSelectAll.Click += new System.EventHandler(this.tsmiSelectAll_Click);
this.tsmiSeparator4.Name = "tsmiSeparator4";
this.tsmiSeparator4.Size = new System.Drawing.Size(134, 6);
this.tsmiWordWrap.Checked = true;
this.tsmiWordWrap.CheckOnClick = true;
this.tsmiWordWrap.CheckState = System.Windows.Forms.CheckState.Checked;
this.tsmiWordWrap.Image = global::RegExTester.Properties.Resources.WordWrap;
this.tsmiWordWrap.Name = "tsmiWordWrap";
this.tsmiWordWrap.Size = new System.Drawing.Size(137, 22);
this.tsmiWordWrap.Text = "&WordWrap";
this.tsmiWordWrap.CheckStateChanged += new System.EventHandler(this.tsmiWordWrap_CheckStateChanged);
this.ContextMenuStrip = this.contextMenuStrip;
this.contextMenuStrip.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
private System.Windows.Forms.ToolStripMenuItem tsmiUndo;
private System.Windows.Forms.ToolStripMenuItem tsmiRedo;
private System.Windows.Forms.ToolStripSeparator tsmiSeparator1;
private System.Windows.Forms.ToolStripMenuItem tsmiCut;
private System.Windows.Forms.ToolStripMenuItem tsmiCopy;
private System.Windows.Forms.ToolStripMenuItem tsmiPaste;
private System.Windows.Forms.ToolStripMenuItem tsmiDelete;
private System.Windows.Forms.ToolStripSeparator tsmiSeparator2;
private System.Windows.Forms.ToolStripMenuItem tsmiFind;
private System.Windows.Forms.ToolStripMenuItem tsmiFindNext;
private System.Windows.Forms.ToolStripSeparator tsmiSeparator3;
private System.Windows.Forms.ToolStripMenuItem tsmiSelectAll;
private System.Windows.Forms.ToolStripSeparator tsmiSeparator4;
private System.Windows.Forms.ToolStripMenuItem tsmiWordWrap;
}}
namespace RegExTester
{
public partial class CustomRichTextBox : RichTextBox
{
public CustomRichTextBox() : base()
{
InitializeComponent();
}
#region Custom extension of the SuspendLayout feature
[DllImport("user32.dll")]
private static extern int SendMessage(IntPtr hWnd, Int32 wMsg, bool wParam, Int32 lParam);
private const int WM_SETREDRAW = 11;
public new void SuspendLayout()
{
base.SuspendLayout();
SendMessage(base.Handle, WM_SETREDRAW, false, 0);
}
public new void ResumeLayout()
{
this.ResumeLayout(true);
}
public new void ResumeLayout(bool performLayout)
{
SendMessage(base.Handle, WM_SETREDRAW, true, 0);
base.ResumeLayout(performLayout);
base.Refresh();
}
#endregion
#region ContextMenu feature
private string _lastFindString = "";
private void tsmiUndo_Click(object sender, EventArgs e)
{
base.Undo();
}
private void tsmiRedo_Click(object sender, EventArgs e)
{
base.Redo();
}
private void tsmiCut_Click(object sender, EventArgs e)
{
base.Cut();
}
private void tsmiCopy_Click(object sender, EventArgs e)
{
base.Copy();
}
private void tsmiPaste_Click(object sender, EventArgs e)
{
base.Paste();
}
private void tsmiDelete_Click(object sender, EventArgs e)
{
SendKeys.Send("{DEL}");
}
private void tsmiFind_Click(object sender, EventArgs e)
{
string findString = Interaction.InputBox("Insert text to find...", "Find Function", _lastFindString, -1, -1);
if (string.IsNullOrEmpty(findString)) return;
int position = base.Find(findString, 0, RichTextBoxFinds.None);
if (position == -1)
{
MessageBox.Show("Text not found", "Find Function", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
base.Select(position, findString.Length);
_lastFindString = findString;
}
}
private void tsmiFindNext_Click(object sender, EventArgs e)
{
string findString = _lastFindString;
if (string.IsNullOrEmpty(findString)) return;
int position = base.Find(findString, base.SelectionStart + base.SelectionLength, RichTextBoxFinds.None);
if (position == -1)
{
MessageBox.Show("No more occurrences found", "Find Next Function", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
base.Select(position, findString.Length);
}
}
private void tsmiSelectAll_Click(object sender, EventArgs e)
{
base.SelectAll();
}
private void tsmiWordWrap_CheckStateChanged(object sender, EventArgs e)
{
base.WordWrap = tsmiWordWrap.Checked;
}
#endregion
}}
namespace RegExTester
{
partial class frmAbout
{
private System.ComponentModel.Container components = null;
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmAbout));
this.llHomepage1 = new System.Windows.Forms.LinkLabel();
this.label1 = new System.Windows.Forms.Label();
this.titleLabel = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.llProject1 = new System.Windows.Forms.LinkLabel();
this.closeButton = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.llProject2 = new System.Windows.Forms.LinkLabel();
this.llProject3 = new System.Windows.Forms.LinkLabel();
this.llTCPArticle3 = new System.Windows.Forms.LinkLabel();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.label2 = new System.Windows.Forms.Label();
this.SuspendLayout();
this.llHomepage1.AutoSize = true;
this.llHomepage1.Location = new System.Drawing.Point(367, 155);
this.llHomepage1.Name = "llHomepage1";
this.llHomepage1.Size = new System.Drawing.Size(112, 13);
this.llHomepage1.TabIndex = 5;
this.llHomepage1.TabStop = true;
this.llHomepage1.Text = "Davide Homepage";
this.llHomepage1.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.llHomepage1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llHomepage1_LinkClicked);
this.label1.Location = new System.Drawing.Point(13, 81);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(506, 45);
this.label1.TabIndex = 2;
this.label1.Text = resources.GetString("label1.Text");
this.titleLabel.Font = new System.Drawing.Font("Verdana", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.titleLabel.Location = new System.Drawing.Point(11, 9);
this.titleLabel.Name = "titleLabel";
this.titleLabel.Size = new System.Drawing.Size(508, 32);
this.titleLabel.TabIndex = 0;
this.titleLabel.Text = "RegEx Tester";
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(13, 41);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(157, 13);
this.label3.TabIndex = 1;
this.label3.Text = "Regular Expression Tester";
this.label4.Location = new System.Drawing.Point(12, 155);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(247, 20);
this.label4.TabIndex = 3;
this.label4.Text = "Originally written by Davide Mauri (2003)";
this.label4.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.llProject1.AutoSize = true;
this.llProject1.Location = new System.Drawing.Point(265, 155);
this.llProject1.Name = "llProject1";
this.llProject1.Size = new System.Drawing.Size(96, 13);
this.llProject1.TabIndex = 4;
this.llProject1.TabStop = true;
this.llProject1.Text = "Project Website";
this.llProject1.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.llProject1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llProject1_LinkClicked);
this.closeButton.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
this.closeButton.Location = new System.Drawing.Point(438, 290);
this.closeButton.Name = "closeButton";
this.closeButton.Size = new System.Drawing.Size(75, 23);
this.closeButton.TabIndex = 0;
this.closeButton.Text = "Close";
this.closeButton.Click += new System.EventHandler(this.btnClose_Click);
this.label5.Location = new System.Drawing.Point(12, 178);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(247, 20);
this.label5.TabIndex = 6;
this.label5.Text = "Enhanced by Kurt Griffiths (2006)";
this.label5.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.label6.Location = new System.Drawing.Point(12, 201);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(247, 20);
this.label6.TabIndex = 8;
this.label6.Text = "Turbocharged by Pablo Osיs (2009)";
this.label6.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.llProject2.AutoSize = true;
this.llProject2.Location = new System.Drawing.Point(265, 178);
this.llProject2.Name = "llProject2";
this.llProject2.Size = new System.Drawing.Size(96, 13);
this.llProject2.TabIndex = 7;
this.llProject2.TabStop = true;
this.llProject2.Text = "Project Website";
this.llProject2.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.llProject2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llProject2_LinkClicked);
this.llProject3.AutoSize = true;
this.llProject3.Location = new System.Drawing.Point(265, 201);
this.llProject3.Name = "llProject3";
this.llProject3.Size = new System.Drawing.Size(96, 13);
this.llProject3.TabIndex = 9;
this.llProject3.TabStop = true;
this.llProject3.Text = "Project Website";
this.llProject3.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.llProject3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llProject3_LinkClicked);
this.llTCPArticle3.AutoSize = true;
this.llTCPArticle3.Location = new System.Drawing.Point(367, 201);
this.llTCPArticle3.Name = "llTCPArticle3";
this.llTCPArticle3.Size = new System.Drawing.Size(146, 13);
this.llTCPArticle3.TabIndex = 10;
this.llTCPArticle3.TabStop = true;
this.llTCPArticle3.Text = "The Code Project Article";
this.llTCPArticle3.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.llTCPArticle3.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llTCPArticle3_LinkClicked);
this.linkLabel1.AutoSize = true;
this.linkLabel1.Location = new System.Drawing.Point(265, 224);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(159, 13);
this.linkLabel1.TabIndex = 12;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "E-mail: opablo@gmail.com";
this.linkLabel1.TextAlign = System.Drawing.ContentAlignment.TopRight;
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
this.label2.Location = new System.Drawing.Point(16, 265);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(497, 20);
this.label2.TabIndex = 13;
this.label2.Text = "Feature contributions: Eric Lebetsamer (2010)";
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(531, 325);
this.Controls.Add(this.label2);
this.Controls.Add(this.linkLabel1);
this.Controls.Add(this.llTCPArticle3);
this.Controls.Add(this.llProject3);
this.Controls.Add(this.llProject2);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.closeButton);
this.Controls.Add(this.llProject1);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.titleLabel);
this.Controls.Add(this.label1);
this.Controls.Add(this.llHomepage1);
this.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "frmAbout";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "About";
this.Load += new System.EventHandler(this.frmAbout_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.LinkLabel llHomepage1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label titleLabel;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.LinkLabel llProject1;
private System.Windows.Forms.Button closeButton;
private Label label5;
private Label label6;
private LinkLabel llProject2;
private LinkLabel llProject3;
private LinkLabel llTCPArticle3;
private LinkLabel linkLabel1;
private Label label2;
}}
namespace RegExTester
{
public partial class frmAbout : Form
{
public frmAbout()
{
InitializeComponent();
}
private void llHomepage1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
Process.Start("http://www.davidemauri.it/");
}
private void llProject1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
Process.Start("http://www.sourceforge.net/projects/regextest");
}
private void llProject2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("http://www.codeproject.com/KB/cs/dotnetregextest.aspx");
}
private void llProject3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("https://github.com/opablo/RegExTester");
}
private void llTCPArticle3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("http://www.codeproject.com/KB/string/regextester.aspx");
}
private void btnClose_Click(object sender, System.EventArgs e)
{
Close();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Process.Start("mailto://opablo@gmail.com");
}
private void frmAbout_Load(object sender, EventArgs e)
{
titleLabel.Text += " - v" + Application.ProductVersion.ToString();
}
}}
namespace RegExTester.Properties {
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.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() {
}
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RegExTester.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
internal static System.Drawing.Icon App {
get {
object obj = ResourceManager.GetObject("App", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
internal static System.Drawing.Bitmap Copy {
get {
object obj = ResourceManager.GetObject("Copy", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap CSharp {
get {
object obj = ResourceManager.GetObject("CSharp", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap CSharpSnippet {
get {
object obj = ResourceManager.GetObject("CSharpSnippet", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Cut {
get {
object obj = ResourceManager.GetObject("Cut", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Delete {
get {
object obj = ResourceManager.GetObject("Delete", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Find {
get {
object obj = ResourceManager.GetObject("Find", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap FindNext {
get {
object obj = ResourceManager.GetObject("FindNext", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Html {
get {
object obj = ResourceManager.GetObject("Html", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Paste {
get {
object obj = ResourceManager.GetObject("Paste", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Plain {
get {
object obj = ResourceManager.GetObject("Plain", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Redo {
get {
object obj = ResourceManager.GetObject("Redo", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Undo {
get {
object obj = ResourceManager.GetObject("Undo", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap WordWrap {
get {
object obj = ResourceManager.GetObject("WordWrap", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}
|