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




Пример 2.19


using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO;

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

[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()); } } } }

Листинг 2.19. Форма frmmain

Закрыть окно




Содержание  Назад  Вперед