Полный листинг формы frmmain:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

 

namespace NotepadCSharp

{

public class frmmain : System.Windows.Forms.Form

{

private System.Windows.Forms.MainMenu mainMenu1;

private System.Windows.Forms.MenuItem menuItem5;

private System.Windows.Forms.MenuItem menuItem12;

private System.Windows.Forms.MenuItem mnuFile;

private System.Windows.Forms.MenuItem mnuNew;

private System.Windows.Forms.MenuItem mnuOpen;

private System.Windows.Forms.MenuItem mnuSave;

private System.Windows.Forms.MenuItem mnuExit;

private System.Windows.Forms.MenuItem mnuEdit;

private System.Windows.Forms.OpenFileDialog openFileDialog1;

private System.Windows.Forms.MenuItem mnuCut;

private System.Windows.Forms.MenuItem mnuCopy;

private System.Windows.Forms.MenuItem mnuPaste;

private System.Windows.Forms.MenuItem mnuDelete;

private System.Windows.Forms.MenuItem mnuSelectAll;

private System.Windows.Forms.MenuItem mnuHelp;

private System.Windows.Forms.MenuItem mnuAbout;

private System.Windows.Forms.MenuItem mnuArrangeIcons;

private System.Windows.Forms.MenuItem mnuCascade;

private System.Windows.Forms.MenuItem mnuTileHorizontal;

private System.Windows.Forms.MenuItem mnuTileVertical;

private System.Windows.Forms.MenuItem mnuWindow;

private int openDocuments = 0;

private System.Windows.Forms.MenuItem mnuFormat;

private System.Windows.Forms.SaveFileDialog saveFileDialog1;

private System.Windows.Forms.MenuItem mnuSaveAs;

private System.Windows.Forms.FontDialog fontDialog1;

private System.Windows.Forms.MenuItem mnuFont;

private System.Windows.Forms.MenuItem mnuColor;

private System.Windows.Forms.ColorDialog colorDialog1;

private System.Windows.Forms.MenuItem menuItem1;

private System.Windows.Forms.MenuItem mnuFind;

private System.Windows.Forms.ToolBarButton tbNew;

private System.Windows.Forms.ToolBarButton tbOpen;

private System.Windows.Forms.ToolBarButton tbSave;

private System.Windows.Forms.ToolBarButton tbCut;

private System.Windows.Forms.ToolBarButton tbCopy;

private System.Windows.Forms.ToolBarButton tbPaste;

private System.Windows.Forms.ImageList imageList1;

private System.Windows.Forms.ToolBar toolBarMain;

private System.Windows.Forms.MenuItem mnunotepadhelp;

private System.Windows.Forms.MenuItem menuItem2;

private System.ComponentModel.IContainer components;

public frmmain()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();

mnuSave.Enabled = false;

//

// TODO: Add any constructor code after InitializeComponent call

//

}

/// <summary>

/// Clean up any resources being used.

/// </summary>

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows Form Designer generated code

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{

this.components = new System.ComponentModel.Container();

System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmmain));

this.mainMenu1 = new System.Windows.Forms.MainMenu();

this.mnuFile = new System.Windows.Forms.MenuItem();

this.mnuNew = new System.Windows.Forms.MenuItem();

this.mnuOpen = new System.Windows.Forms.MenuItem();

this.mnuSave = new System.Windows.Forms.MenuItem();

this.mnuSaveAs = new System.Windows.Forms.MenuItem();

this.menuItem5 = new System.Windows.Forms.MenuItem();

this.mnuExit = new System.Windows.Forms.MenuItem();

this.mnuEdit = new System.Windows.Forms.MenuItem();

this.mnuCut = new System.Windows.Forms.MenuItem();

this.mnuCopy = new System.Windows.Forms.MenuItem();

this.mnuPaste = new System.Windows.Forms.MenuItem();

this.mnuDelete = new System.Windows.Forms.MenuItem();

this.menuItem12 = new System.Windows.Forms.MenuItem();

this.mnuSelectAll = new System.Windows.Forms.MenuItem();

this.menuItem1 = new System.Windows.Forms.MenuItem();

this.mnuFind = new System.Windows.Forms.MenuItem();

this.mnuFormat = new System.Windows.Forms.MenuItem();

this.mnuFont = new System.Windows.Forms.MenuItem();

this.mnuColor = new System.Windows.Forms.MenuItem();

this.mnuWindow = new System.Windows.Forms.MenuItem();

this.mnuArrangeIcons = new System.Windows.Forms.MenuItem();

this.mnuCascade = new System.Windows.Forms.MenuItem();

this.mnuTileHorizontal = new System.Windows.Forms.MenuItem();

this.mnuTileVertical = new System.Windows.Forms.MenuItem();

this.mnuHelp = new System.Windows.Forms.MenuItem();

this.mnuAbout = new System.Windows.Forms.MenuItem();

this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();

this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();

this.fontDialog1 = new System.Windows.Forms.FontDialog();

this.colorDialog1 = new System.Windows.Forms.ColorDialog();

this.toolBarMain = new System.Windows.Forms.ToolBar();

this.tbNew = new System.Windows.Forms.ToolBarButton();

this.tbOpen = new System.Windows.Forms.ToolBarButton();

this.tbSave = new System.Windows.Forms.ToolBarButton();

this.tbCut = new System.Windows.Forms.ToolBarButton();

this.tbCopy = new System.Windows.Forms.ToolBarButton();

this.tbPaste = new System.Windows.Forms.ToolBarButton();

this.imageList1 = new System.Windows.Forms.ImageList(this.components);

this.mnunotepadhelp = new System.Windows.Forms.MenuItem();

this.menuItem2 = new System.Windows.Forms.MenuItem();

this.SuspendLayout();

//

// mainMenu1

//

this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.mnuFile,

this.mnuEdit,

this.mnuFormat,

this.mnuWindow,

this.mnuHelp});

//

// mnuFile

//

this.mnuFile.Index = 0;

this.mnuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.mnuNew,

this.mnuOpen,

this.mnuSave,

this.mnuSaveAs,

this.menuItem5,

this.mnuExit});

this.mnuFile.Text = "&File";

//

// mnuNew

//

this.mnuNew.Index = 0;

this.mnuNew.Shortcut = System.Windows.Forms.Shortcut.CtrlN;

this.mnuNew.Text = "&New";

this.mnuNew.Click += new System.EventHandler(this.mnuNew_Click);

//

// mnuOpen

//

this.mnuOpen.Index = 1;

this.mnuOpen.Shortcut = System.Windows.Forms.Shortcut.CtrlO;

this.mnuOpen.Text = "&Open";

this.mnuOpen.Click += new System.EventHandler(this.mnuOpen_Click);

//

// mnuSave

//

this.mnuSave.Index = 2;

this.mnuSave.Shortcut = System.Windows.Forms.Shortcut.CtrlS;

this.mnuSave.Text = "&Save";

this.mnuSave.Click += new System.EventHandler(this.mnuSave_Click);

//

// mnuSaveAs

//

this.mnuSaveAs.Index = 3;

this.mnuSaveAs.Shortcut = System.Windows.Forms.Shortcut.CtrlShiftS;

this.mnuSaveAs.Text = "Save &As";

this.mnuSaveAs.Click += new System.EventHandler(this.mnuSaveAs_Click);

//

// menuItem5

//

this.menuItem5.Index = 4;

this.menuItem5.Text = "-";

//

// mnuExit

//

this.mnuExit.Index = 5;

this.mnuExit.Shortcut = System.Windows.Forms.Shortcut.AltF4;

this.mnuExit.Text = "&Exit";

this.mnuExit.Click += new System.EventHandler(this.mnuExit_Click);

//

// mnuEdit

//

this.mnuEdit.Index = 1;

this.mnuEdit.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.mnuCut,

this.mnuCopy,

this.mnuPaste,

this.mnuDelete,

this.menuItem12,

this.mnuSelectAll,

this.menuItem1,

this.mnuFind});

this.mnuEdit.Text = "&Edit";

//

// mnuCut

//

this.mnuCut.Index = 0;

this.mnuCut.Shortcut = System.Windows.Forms.Shortcut.CtrlX;

this.mnuCut.Text = "Cu&t";

this.mnuCut.Click += new System.EventHandler(this.mnuCut_Click);

//

// mnuCopy

//

this.mnuCopy.Index = 1;

this.mnuCopy.Shortcut = System.Windows.Forms.Shortcut.CtrlC;

this.mnuCopy.Text = "&Copy";

this.mnuCopy.Click += new System.EventHandler(this.mnuCopy_Click);

//

// mnuPaste

//

this.mnuPaste.Index = 2;

this.mnuPaste.Shortcut = System.Windows.Forms.Shortcut.CtrlV;

this.mnuPaste.Text = "&Paste";

this.mnuPaste.Click += new System.EventHandler(this.mnuPaste_Click);

//

// mnuDelete

//

this.mnuDelete.Index = 3;

this.mnuDelete.Shortcut = System.Windows.Forms.Shortcut.Del;

this.mnuDelete.Text = "&Delete";

this.mnuDelete.Click += new System.EventHandler(this.mnuDelete_Click);

//

// menuItem12

//

this.menuItem12.Index = 4;

this.menuItem12.Text = "-";

//

// mnuSelectAll

//

this.mnuSelectAll.Index = 5;

this.mnuSelectAll.Shortcut = System.Windows.Forms.Shortcut.CtrlA;

this.mnuSelectAll.Text = "&Select All";

this.mnuSelectAll.Click += new System.EventHandler(this.mnuSelectAll_Click);

//

// menuItem1

//

this.menuItem1.Index = 6;

this.menuItem1.Text = "-";

//

// mnuFind

//

this.mnuFind.Index = 7;

this.mnuFind.Shortcut = System.Windows.Forms.Shortcut.CtrlF;

this.mnuFind.Text = "&Find";

this.mnuFind.Click += new System.EventHandler(this.mnuFind_Click);

//

// mnuFormat

//

this.mnuFormat.Index = 2;

this.mnuFormat.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.mnuFont,

this.mnuColor});

this.mnuFormat.Text = "F&ormat";

//

// mnuFont

//

this.mnuFont.Index = 0;

this.mnuFont.Text = "Font...";

this.mnuFont.Click += new System.EventHandler(this.mnuFont_Click);

//

// mnuColor

//

this.mnuColor.Index = 1;

this.mnuColor.Text = "Color...";

this.mnuColor.Click += new System.EventHandler(this.mnuColor_Click);

//

// mnuWindow

//

this.mnuWindow.Index = 3;

this.mnuWindow.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.mnuArrangeIcons,

this.mnuCascade,

this.mnuTileHorizontal,

this.mnuTileVertical});

this.mnuWindow.Text = "&Window";

//

// mnuArrangeIcons

//

this.mnuArrangeIcons.Index = 0;

this.mnuArrangeIcons.MdiList = true;

this.mnuArrangeIcons.Text = "Arrange Icons";

//

// mnuCascade

//

this.mnuCascade.Index = 1;

this.mnuCascade.Text = "Cascade";

this.mnuCascade.Click += new System.EventHandler(this.mnuCascade_Click);

//

// mnuTileHorizontal

//

this.mnuTileHorizontal.Index = 2;

this.mnuTileHorizontal.Text = "Tile Horizontal";

this.mnuTileHorizontal.Click += new System.EventHandler(this.mnuTileHorizontal_Click);

//

// mnuTileVertical

//

this.mnuTileVertical.Index = 3;

this.mnuTileVertical.Text = "Tile Vertical";

this.mnuTileVertical.Click += new System.EventHandler(this.mnuTileVertical_Click);

//

// mnuHelp

//

this.mnuHelp.Index = 4;

this.mnuHelp.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.mnunotepadhelp,

this.menuItem2,

this.mnuAbout});

this.mnuHelp.Text = "?";

//

// mnuAbout

//

this.mnuAbout.Index = 2;

this.mnuAbout.Text = "About Programm...";

this.mnuAbout.Click += new System.EventHandler(this.mnuAbout_Click);

//

// openFileDialog1

//

this.openFileDialog1.FileName = "Текстовые файлы";

this.openFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files(*.*)|*.*";

//

// saveFileDialog1

//

this.saveFileDialog1.FileName = "Текстовые файлы";

this.saveFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files(*.*)|*.*";

//

// toolBarMain

//

this.toolBarMain.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {

this.tbNew,

this.tbOpen,

this.tbSave,

this.tbCut,

this.tbCopy,

this.tbPaste});

this.toolBarMain.DropDownArrows = true;

this.toolBarMain.ImageList = this.imageList1;

this.toolBarMain.Location = new System.Drawing.Point(0, 0);

this.toolBarMain.Name = "toolBarMain";

this.toolBarMain.ShowToolTips = true;

this.toolBarMain.Size = new System.Drawing.Size(292, 28);

this.toolBarMain.TabIndex = 1;

this.toolBarMain.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBarMain_ButtonClick);

//

// tbNew

//

this.tbNew.ImageIndex = 0;

this.tbNew.ToolTipText = "Create New";

//

// tbOpen

//

this.tbOpen.ImageIndex = 1;

this.tbOpen.ToolTipText = "Open";

//

// tbSave

//

this.tbSave.ImageIndex = 2;

this.tbSave.ToolTipText = "Save";

//

// tbCut

//

this.tbCut.ImageIndex = 3;

this.tbCut.ToolTipText = "Cut";

//

// tbCopy

//

this.tbCopy.ImageIndex = 4;

this.tbCopy.ToolTipText = "Copy";

//

// tbPaste

//

this.tbPaste.ImageIndex = 5;

this.tbPaste.ToolTipText = "Paste";

//

// imageList1

//

this.imageList1.ImageSize = new System.Drawing.Size(16, 16);

this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));

this.imageList1.TransparentColor = System.Drawing.Color.Transparent;

//

// mnunotepadhelp

//

this.mnunotepadhelp.Index = 0;

this.mnunotepadhelp.Shortcut = System.Windows.Forms.Shortcut.F1;

this.mnunotepadhelp.Text = "Notepad C# Help";

//

// menuItem2

//

this.menuItem2.Index = 1;

this.menuItem2.Text = "-";

//

// frmmain

//

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(292, 245);

this.Controls.Add(this.toolBarMain);

this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));

this.IsMdiContainer = true;

this.Menu = this.mainMenu1;

this.Name = "frmmain";

this.Text = "Notepad C#";

this.WindowState = System.Windows.Forms.FormWindowState.Maximized;

this.ResumeLayout(false);

}

#endregion

[STAThread]

static void Main()

{

Application.Run(new frmmain());

}

private void mnuNew_Click(object sender, System.EventArgs e)

{

//Создаем новый экземпляр формы frm

blank frm = new blank();

frm.DocName = "Untitled " + ++openDocuments;

//Указываем, что родительским контейнером

//нового экземпляра будет эта, главная форма.

frm.MdiParent = this;

frm.Text = frm.DocName;

//Вызываем форму

frm.Show();

}

private void mnuArrangeIcons_Click(object sender, System.EventArgs e)

{

this.LayoutMdi(MdiLayout.ArrangeIcons);

}

private void mnuCascade_Click(object sender, System.EventArgs e)

{

this.LayoutMdi(MdiLayout.Cascade);

}

private void mnuTileHorizontal_Click(object sender, System.EventArgs e)

{

this.LayoutMdi(MdiLayout.TileHorizontal);

}

private void mnuTileVertical_Click(object sender, System.EventArgs e)

{

this.LayoutMdi(MdiLayout.TileVertical);

}

private void mnuCut_Click(object sender, System.EventArgs e)

{

blank frm = (blank)this.ActiveMdiChild;

frm.Cut();

}

private void mnuCopy_Click(object sender, System.EventArgs e)

{

blank frm = (blank)this.ActiveMdiChild;

frm.Copy();

}

private void mnuPaste_Click(object sender, System.EventArgs e)

{

blank frm = (blank)this.ActiveMdiChild;

frm.Paste();

}

private void mnuDelete_Click(object sender, System.EventArgs e)

{

blank frm = (blank)this.ActiveMdiChild;

frm.Delete();

}

private void mnuSelectAll_Click(object sender, System.EventArgs e)

{

blank frm = (blank)this.ActiveMdiChild;

frm.SelectAll();

}

private void mnuOpen_Click(object sender, System.EventArgs e)

{

//Можно программно задавать доступные для обзора расширения файлов.

//openFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files(*.*)|*.*";

//Если выбран диалог открытия файла, выполняем условие

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

//Создаем новый документ

blank frm = new blank();

//Вызываем метод Open формы blank

frm.Open(openFileDialog1.FileName);

//Указываем, что родительской формой является форма frmmain

frm.MdiParent = this;

//Присваиваем переменной DocName имя открываемого файла

frm.DocName = openFileDialog1.FileName;

//Свойству Text формы присваиваем переменную DocName

frm.Text = frm.DocName;

//Вызываем форму frm

frm.Show();

mnuSave.Enabled = true;

}

}

private void mnuSave_Click(object sender, System.EventArgs e)

{

//Переключаем фокус на данную форму.

blank frm = (blank)this.ActiveMdiChild;

//Вызываем метод Save формы blank

frm.Save(frm.DocName);

frm.IsSaved = true;

}

private void mnuSaveAs_Click(object sender, System.EventArgs e)

{

mnuSave.Enabled = true;

//Можно программно задавать доступные для обзора расширения файлов.

//openFileDialog1.Filter = "Text Files (*.txt)|*.txt|All Files(*.*)|*.*";

//Если выбран диалог открытия файла, выполняем условие

if (saveFileDialog1.ShowDialog() == DialogResult.OK)

{

//Переключаем фокус на данную форму.

blank frm = (blank)this.ActiveMdiChild;

//Вызываем метод Save формы blank

frm.Save(saveFileDialog1.FileName);

//Указываем, что родительской формой является форма frmmain

frm.MdiParent = this;

//Присваиваем переменной FileName имя сохраняемого файла

frm.DocName = saveFileDialog1.FileName;

//Свойству Text формы присваиваем переменную DocName

frm.Text = frm.DocName;

frm.IsSaved = true;

}

}

private void mnuExit_Click(object sender, System.EventArgs e)

{

this.Close();

}

private void mnuFont_Click(object sender, System.EventArgs e)

{

//Переключаем фокус на данную форму.

blank frm = (blank)this.ActiveMdiChild;

//Указываем, что родительской формой является форма frmmain

frm.MdiParent = this;

//Вызываем диалог

fontDialog1.ShowColor = true;

//Связываем свойства SelectionFont и SelectionColor элемента RichTextBox

//с соответствующими свойствами диалога

fontDialog1.Font = frm.richTextBox1.SelectionFont;

fontDialog1.Color = frm.richTextBox1.SelectionColor;

//Если выбран диалог открытия файла, выполняем условие

if (fontDialog1.ShowDialog() == DialogResult.OK)

{

frm.richTextBox1.SelectionFont = fontDialog1.Font;

frm.richTextBox1.SelectionColor = fontDialog1.Color;

}

//Показываем форму

frm.Show();

}

private void mnuColor_Click(object sender, System.EventArgs e)

{

blank frm = (blank)this.ActiveMdiChild;

frm.MdiParent = this;

colorDialog1.Color = frm.richTextBox1.SelectionColor;

if (colorDialog1.ShowDialog() == DialogResult.OK)

{

frm.richTextBox1.SelectionColor = colorDialog1.Color;

}

frm.Show();

}

private void mnuFind_Click(object sender, System.EventArgs e)

{

//Создаем новый экземпляр формы FindForm

FindForm frm = new FindForm();

//Если выбран результат DialogResult.Cancel, закрываем форму (до этого

//мы использовали DialogResult.OK

if(frm.ShowDialog(this) == DialogResult.Cancel) return;

////Переключаем фокус на данную форму.

blank form = (blank)this.ActiveMdiChild;

////Указываем, что родительской формой является форма frmmain

form.MdiParent = this;

//Вводим переменную для поиска в определенной части текста -

//поиск слова будет осуществляться от текущей позиции курсора

int start = form.richTextBox1.SelectionStart;

//Вызываем предопределенный метод Find элемента richTextBox1.

form.richTextBox1.Find(frm.FindText, start, frm.FindCondition);

}

private void mnuAbout_Click(object sender, System.EventArgs e)

{

//Создаем новый экземпляр формы About

About frm = new About();

frm.Show();

}

private void toolBarMain_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)

{

//New

if (e.Button.Equals(tbNew))

{

mnuNew_Click(this, new EventArgs());

}

//Open

if (e.Button.Equals(tbOpen))

{

mnuOpen_Click(this, new EventArgs());

}

//Save

if (e.Button.Equals(tbSave))

{

mnuSave_Click(this, new EventArgs());

}

//Cut

if (e.Button.Equals(tbCut))

{

mnuCut_Click(this, new EventArgs());

}

//Copy

if (e.Button.Equals(tbCopy))

{

mnuCopy_Click(this, new EventArgs());

}

//Paste

if (e.Button.Equals(tbPaste))

{

mnuPaste_Click(this, new EventArgs());

}

}

}

}