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



FontDialog


Продолжим работу над приложением Notepad C#. Добавим теперь возможность выбирать шрифт, его размер и начертание. В режиме дизайна перетащим на форму frmmain из окна ToolBox элемент управления FontDialog. Не изменяя ничего в свойствах этого элемента, переходим в обработчик пункта Font главного меню:

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

Пример 2.10.

Запускаем приложение, и в окне Output появляется список ошибок (рис. 2.18).

Список ошибок — NotepadCSahrp.blank.richTextBox1 недоступен из-за своего уровня защиты

Рис. 2.18.  Список ошибок — NotepadCSahrp.blank.richTextBox1 недоступен из-за своего уровня защиты

В чем же дело? При расположении на форме blank элемента управления RichTextBox среда Visual Studio.NET сгенерировала экземпляр richTextBox1 класса System.Windows.Forms.RichTextBox с модификатором доступа private, из-за чего при обращении к нему и возникает исключение:

private System.Windows.Forms.RichTextBox richTextBox1;

Изменим модификатор на public и снова запустим приложение. При выборе пункта меню Font теперь можно менять параметры текущего текста.




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