Создание Windows-приложений на основе Visual C#

         

Подготовка HTML-страниц


Исходные страницы справки лучше всего создавать в одном из пакетов верстки web-страниц, например, Microsoft Front Page. Справка будет состоять из 36 страниц, связанных между собой. В качестве фонового цвета на всех страницах я выбрал светло-голубой (Тег <body bgcolor="#66CCFF">). Для копирования кода я свернул все методы и обработчики в проекте в блоки, а при вставке в документ они автоматически разворачивались (рис. 8.2):


Рис. 8.2.  Копирование блоков кода

Таблица 8.1 содержит данные о страницах справки. Желательно самим создать HTML-страницы со всеми ссылками, указанными в этой таблице.

Таблица 8.1. Исходные HTML — страницы справки

Название файлаЗаголовок страницыСодержание страницы
AboutForm.htmСвойства формы About

Свойства формы About:

Форма About, свойствоЗначение
NameAbout
FormBorderStyleFixedSingle
MaximizeBoxFalse
MinimizeBoxFalse
Size318; 214
TextAbout Notepad C#

Внешний вид формы в режиме дизайна:


Главное окно программы

Полный листинг формы About. (ссылка на FullCodeAbout.htm)

AboutProgram.htmОбработчик пункта меню About Program

Обработчик пункта меню About Program..., форма frmmain (ссылка на frmmain.htm):

private void mnuAbout_Click(object sender, System.EventArgs e) { //Создаем новый экземпляр формы About About frm = new About(); frm.Show(); }

При выборе этого пункта меню появляется форма About (ссылка на AboutForm).

ArrangeIcons.htmОбработчик пункта меню Arrange Icons

Обработчик пункта меню Arrange Icons, форма frmmain (ссылка на frmmain.htm):

private void mnuArrangeIcons_Click(object sender, System.EventArgs e) { this.LayoutMdi(MdiLayout.ArrangeIcons); }

blank.htmСвойства формы blank

Свойства формы blank:

Форма blank, свойствоЗначениеNameblankTextblankWindowStateMaximized

Внешний вид формы в режиме дизайна:

При выборе этого пункта меню появляется форма About (ссылка на AboutForm).



blank.htmСвойства формы blank

Свойства формы blank:

Форма blank, свойствоЗначениеNameblankTextblankWindowStateMaximized


Внешний вид формы в режиме дизайна:



Полный листинг формы blank. (ссылка на FullCodeblank.htm)

blankCopy.htmМетод Copy формы blank

Метод Copy формы blank (ссылка на blank.htm):

public void Copy() { this.BufferText = richTextBox1.SelectedText; } blankCut.htmМетод Cut формы blank

Метод Cut формы blank (ссылка на blank.htm):

public void Cut() { this.BufferText = richTextBox1.SelectedText; richTextBox1.SelectedText = ""; } blankDelete.htmМетод Delete формы blank

Метод Delete формы blank (ссылка на blank.htm):

public void Delete() { richTextBox1.SelectedText = ""; this.BufferText = ""; } blankOpen.htmМетод Open формы blank

Метод Open формы blank (ссылка на blank.htm):

public void Open(string OpenFileName) { /// Вставьте сюда код из проекта } blankPaste.htmМетод Paste формы blank

Метод Paste формы blank (ссылка на blank.htm):

public void Paste() { richTextBox1.SelectedText = this.BufferText; } blankSave.htmМетод Save формы blank

Метод Save формы blank (ссылка на blank.htm):

public void Save(string SaveFileName) { ///Вставьте сюда код из проекта } blankSelectAll.htmМетод Select All формы blank

Метод Select All формы blank (ссылка на blank.htm):

public void SelectAll() { richTextBox1.SelectAll(); } Cascade.htmОбработчик пункта меню Cascade

Обработчик пункта меню Cascade, форма frmmain (ссылка на frmmain.htm):

private void mnuCascade_Click(object sender, System.EventArgs e) { this.LayoutMdi(MdiLayout.Cascade); } Color.htmОбработчик пункта меню Color

Обработчик пункта меню Color, форма frmmain (ссылка на frmmain.htm):

private void mnuColor_Click(object sender, System.EventArgs e) { ///Вставьте сюда код из проекта } Copy.htmОбработчик пункта меню Copy

Обработчик пункта меню Copy, форма frmmain (ссылка на frmmain.htm):

private void mnuCopy_Click(object sender, System.EventArgs e) { blank frm = (blank)this.ActiveMdiChild; frm.Copy(); }

В коде вызывается метод Copy (ссылка на blankCopy.htm) формы blank (ссылка на blank.htm)

Cut.htmОбработчик пункта меню Cut



Обработчик пункта меню Cut, форма frmmain (ссылка на frmmain.htm):

private void mnuCut_Click(object sender, System.EventArgs e) { blank frm = (blank)this.ActiveMdiChild; frm.Cut(); }

В коде вызывается метод Cut (ссылка на blankCut.htm.htm) формы blank (ссылка на blank.htm)

Delete.htmОбработчик пункта меню Delete

Обработчик пункта меню Delete, форма frmmain (ссылка на frmmain.htm):

private void mnuDelete_Click(object sender, System.EventArgs e) { blank frm = (blank)this.ActiveMdiChild; frm.Delete(); }

В коде вызывается метод Delete (ссылка на blankDelete.htm) формы blank (ссылка на blank.htm)

Exit.htmОбработчик пункта меню Exit

Обработчик пункта меню Exit, форма frmmain (ссылка на frmmain.htm):

private void mnuExit_Click(object sender, System.EventArgs e) { this.Close(); } Find.htmОбработчик пункта меню Find

Обработчик пункта меню Find, форма frmmain (ссылка на frmmain.htm):

private void mnuFind_Click(object sender, System.EventArgs e) { ///Вставьте сюда код из проекта }

При выборе этого пункта меню появляется форма FindForm (ссылка на FindForm.htm).

FindForm.htmСвойства формы FindForm

Свойства формы FindForm:

Форма FindForm, свойствоЗначениеNameFindFormFormBorderStyleFixedToolWindowSize328; 112TextFind

Внешний вид формы в режиме дизайна:



Полный листинг формы FindForm. (Ссылка на FullCodeFindForm.htm)

Font.htmОбработчик пункта меню Font

Обработчик пункта меню Font, форма frmmain (ссылка на frmmain.htm):

private void mnuFont_Click(object sender, System.EventArgs e) { ///Вставьте сюда код из проекта } frmmain.htmСвойства формы frmmain

Свойства формы frmmain:

Form1, форма, свойствоЗначениеNamefrmmainIcon
Code\Glava2\NotepadCSharp\Icon\README.ICOIsMdiContainerTrueMenumainMenu1TextNotepad C#WindowStateMaximizedВнешний вид формы в режиме дизайна:

Полный листинг формы frmmain. (Ссылка на FullCodefrmmain.htm)

FullCodeAbout.htmПолный листинг формы About

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

///Вставьте сюда код из проекта

FullCodeblank.htmПолный листинг формы blank



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

///Вставьте сюда код из проекта

FullCodeFindForm.htmПолный листинг формы FindForm

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

///Вставьте сюда код из проекта

FullCodefrmmain.htmПолный листинг формы frmmain

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

///Вставьте сюда код из проекта

index.htmВведение

Программа Notepad C# была сделана в ходе изучения элементов программирования на языке C# для Windows. По своей функциональности она напоминает что-то среднее между блокнотом и текстовым редактором WordPad. Некоторые фрагменты кода были приведены в чистом виде, без блоков обработки исключений. В результате при выборе неподходящих действий — например, операций работы с текстом при отсутствии бланка, — возможны ошибки. Поскольку исходный код программы прилагается, Вы можете добавить соответствующие блоки. Также, используя свойство Enabled и Visible элементов, можно получить недоступность или невидимость элементов, работа с которыми в определенные моменты вызывает исключения

New.htmОбработчик пункта меню New

Обработчик пункта меню New, форма frmmain (ссылка на frmmain.htm):

private void mnuNew_Click(object sender, System.EventArgs e) { ///Вставьте сюда код из проекта }

Notepadhelp.htmОбработчик пункта меню Notepad C# Help

Обработчик пункта меню Notepad C# Help, форма frmmain (ссылка на frmmain.htm):

private void mnunotepadhelp_Click(object sender, System.EventArgs e) { try { Process SysInfo = new Process(); SysInfo.StartInfo.ErrorDialog = true; SysInfo.StartInfo.FileName = "notepadhelp.chm"; SysInfo.Start(); } catch (Exception ex) { MessageBox.Show (ex.Message); } } Open.htmОбработчик пункта меню Open

Обработчик пункта меню Open, форма frmmain (ссылка на frmmain.htm):

private void mnuOpen_Click(object sender, System.EventArgs e) { ///Вставьте сюда код из проекта }

В коде вызывается метод Open (ссылка на blankOpen.htm) формы blank (ссылка на blank.htm)

Paste.htmОбработчик пункта меню Paste

Обработчик пункта меню Paste, форма frmmain (ссылка на frmmain.htm):

private void mnuPaste_Click(object sender, System.EventArgs e) { blank frm = (blank)this.ActiveMdiChild; frm.Paste(); }



В коде вызывается метод Paste (ссылка на blankPaste.htm) формы blank (ссылка на blank.htm)

Save.htmОбработчик пункта меню Save

Обработчик пункта меню Save, форма frmmain (ссылка на frmmain.htm):

private void mnuSave_Click(object sender, System.EventArgs e) { //Переключаем фокус на данную форму. blank frm = (blank)this.ActiveMdiChild; //Вызываем метод Save формы blank frm.Save(frm.DocName); frm.IsSaved = true; }

В коде вызывается метод Save (ссылка на blankSave.htm) формы blank (ссылка на blank.htm)

SaveAs.htmОбработчик пункта меню Save As

Обработчик пункта меню Save As, форма frmmain (ссылка на frmmain.htm):

private void mnuSaveAs_Click(object sender, System.EventArgs e) { ///Вставьте сюда код из проекта } SelectAll.htmОбработчик пункта меню Select All

Обработчик пункта меню Select All, форма frmmain (ссылка на frmmain.htm):

private void mnuSelectAll_Click(object sender, System.EventArgs e) { blank frm = (blank)this.ActiveMdiChild; frm.SelectAll(); }

В коде вызывается метод Select All (ссылка на blankSelectAll.htm) формы blank (ссылка на blank.htm)

structure.htmСтруктура программы

Все возможности программы собраны в нескольких пунктах главного меню:



В пункте File собраны основные операции открытия и сохранения документа ( New (ссылка на New.htm), Open (ссылка на Open.htm), Save (ссылка на Save.htm), Save As (ссылка на SaveAs.htm), Exit (ссылка на Exit.htm)):



В пункте Edit расположены операции работы с текстом (Cut (ссылка на Cut.htm), Copy (ссылка на Copy.htm), Paste (ссылка на Paste.htm), Delete (ссылка на Delete.htm), Select All (ссылка на SelectAll.htm), Find (ссылка на Find.htm)):



Пункт Format позволяет задать свойства шрифта, такие как цвет, размер, стиль (Font (ссылка на Font.htm), Color (ссылка на Color.htm)) :



Для упорядочивание нескольких открытых документов используется пункт меню Window (Arrange Icons (ссылка на ArrangeIcons.htm), Cascade (ссылка на Cascade.htm), Tile Horizontal (ссылка на TileHorizontal.htm), Tile Vertical (ссылка на TileVertical.htm)):


Содержание раздела