
- •4. Ввод-вывод
- •4.1. Консольный ввод-вывод
- •4.1.1. Ввод и вывод с помощью классаConsole
- •4.1.2. Методы классаSystem.Console
- •Перечисление System.ConsoleKey
- •Структура System.ConsoleKeyInfo
- •Перечисление ConsoleModifiers
- •4.2. Форматирование строк
- •{Index[,length][:format]}
- •4.2.1. Строки стандартных числовых форматов
- •4.2.2. Строки настраиваемых числовых форматов
- •4.2.3. Форматирование с помощью управляющих последовательностей
- •4.3. Ввод-вывод с использованием графического интерфейса
- •4.3.1. Ввод-вывод с использованием элементов управления
- •4.3.2. Использование стандартного окна MessageBox для вывода сообщений
4.2.3. Форматирование с помощью управляющих последовательностей
Таблица 4.8. Управляющие последовательности в языке С#
Последовательность |
Интерпретация |
Кодировка Unicode |
\0 |
Null |
0x0000 |
\a |
ALERT |
0x0007 |
\b |
Удаление символа слева от курсора (Backspace) |
0x0008 |
\t |
Горизонтальная табуляция (Tab) |
0x0009 |
\n |
Продолжение вывода переносится в начало следующей строки (перевод строки) |
0x000A |
\v |
Вертикальная табуляция |
0x000B |
\f |
Перевод формата (FORM FEED) |
0x000C |
\r |
Продолжение вывода переносится в начало те-кущей строки. Все ранее выведенные символы в этой строке уничтожаются (возврат каретки) |
0x000D |
\" |
Двойные кавычки |
0x0022 |
\' |
Апостроф |
0x0027 |
\\ |
Обратная косая черта |
0x005C |
\U |
Escape-последовательность Unicodeдля пар символов-заместителей |
\Unnnnnnnn |
\u |
Escape-последовательность Unicode |
\u0041 = "A" |
\x |
Escape-последовательность Unicodeаналогична "\u", за исключением строк с переменной длиной |
\x0041 = "A" |
Примеры использования префикса @для буквального вывода строк:
Console.WriteLine("123@\n\"ABC\""); // Вывод: 123@
// "ABC"
Console.WriteLine(@"123\n""ABC"""); // Вывод: 123\n"ABC"
Console.WriteLine("C:\\Users\\Doc\\"); // Вывод: C:\Users\Doc\
Console.WriteLine(@"C:\Users\Doc\"); // Вывод: C:\Users\Doc\
4.3. Ввод-вывод с использованием графического интерфейса
4.3.1. Ввод-вывод с использованием элементов управления
(http://msdn.microsoft.com/ru-ru/library/xfak08ea)
4.3.2. Использование стандартного окна MessageBox для вывода сообщений
(http://msdn.microsoft.com/ru-ru/library/system.windows.forms.messagebox.show)
Рис.4.3. Варианты окна сообщения MessageBox
Синтаксис использования метода:
ReturnValue = MessageBox.Show([owner], text, [caption], [buttons], [icon], [defaultButton], [options], [helpFilePath, navigator, param]);
где:
– owner– указывает окно, которому будет принадлежать данное модальное диалоговое окно;
– text– текст, отображаемый в окне сообщения;
– caption– текст, отображаемый в заголовке окна сообщения;
– buttons– определяет набор кнопок в окне сообщения. Один из типовых наборов кнопок выбирается соответствующей константой из набораSystem.Windows.Forms.MessageBoxButtons(таблица 4.9);
– icon– определяет вид пиктограммы в окне сообщения. Вид пиктограммы определяется соответствующей константой из набораSystem.Windows.Forms.MessageBoxIcon(таблица 4.9);
– defaultButton– определяет кнопку по умолчанию в окне сообщения. Для этого используется соответствующая константа из набораSystem.Windows.Forms.MessageBoxDefaultButton(таблица 4.9);
– options– определяет вариант отображения окна сообщения и способ отображения текста в нем. Для этого используются соответствующие константы из набораSystem.Windows.Forms.MessageBoxOptions(таблица 4.9). Задание нуля означает использование настроек по умолчанию;
– helpFilePath– строка, содержащая путь и имя файла справки, который отображается при нажатии кнопки "Help" ("Справка");
– navigator– определяет способ доступа к элементам файла справки. Для этого используется соответствующая константа из набораSystem.Windows.Forms.HelpNavigator(таблица 4.10);
– param– числовой идентификатор разделаcправки, который отображается при нажатии кнопки "Help" ("Справка");
– ReturnValue– возвращаемое значение, позволяющее определить нажатую пользователем кнопку в окне сообщения. Для этого используется соответствующая константа из набораSystem.Windows.Forms.DialogResult(таблица 4.11).
Таблица 4.9. Константы, используемые в методеShowиз классаMessageBox
Константа |
Значение |
Назначение |
Набор MessageBoxButtons |
|
|
MessageBoxButtons.OK |
0 |
Отображается только кнопка ОК |
MessageBoxButtons.OKCancel |
1 |
Отображаются кнопки ОКиCancel(Отмена) |
MessageBoxButtons.AbortRetryIgnore |
2 |
Отображаются кнопки Abort(Прервать),Retry(Повторить) иIgnore(Пропустить) |
MessageBoxButtons.YesNoCancel |
3 |
Отображаются кнопки Yes(Да),No(Нет) иCancel(Отмена) |
MessageBoxButtons.YesNo |
4 |
Отображаются кнопки Yes(Да),No(Нет) |
MessageBoxButtons.RetryCancel |
5 |
Отображаются кнопки Retry(Повторить) иCancel(Отмена) |
Набор MessageBoxIcon |
|
|
MessageBoxIcon.None |
0 |
Окно сообщения не содержит ни каких пиктограмм |
MessageBoxIcon.Error MessageBoxIcon.Hand MessageBoxIcon.Stop |
16 |
Отображается
пиктограмма "Ошибка" – |
MessageBoxIcon.Question |
32 |
Отображается
пиктограмма "Запрос" – Не рекомендуется использовать, т.к. он не четко отражает тип сообщения. |
MessageBoxIcon.Exclamation MessageBoxIcon.Warning |
48 |
Отображается
пиктограмма "Предупреждение"
– |
MessageBoxIcon.Information MessageBoxIcon.Asterisk |
64 |
Отображается
пиктограмма "Информация" – |
Набор MessageBoxDefaultButton |
|
|
MessageBoxDefaultButton.Button1 |
0 |
Первая кнопка в окне задается кнопкой по умолчанию |
MessageBoxDefaultButton.Button2 |
256 |
Вторая кнопка в окне задается кнопкой по умолчанию |
MessageBoxDefaultButton.Button3 |
512 |
Третья кнопка в окне задается кнопкой по умолчанию |
Набор MessageBoxOptions |
|
|
MessageBoxOptions.DefaultDesktopOnly |
131072 |
Окно сообщения (с параметрами по умолчанию) отображается на активном рабочем столе, =217 |
MessageBoxOptions.RightAlign |
524288 |
Текст в окне сообщения выравнивается по правому краю, =219 |
MessageBoxOptions.RtlReading |
1048576 |
Текст в окне сообщения отображается с порядком чтения справа налево (еврейский, арабский), =220 |
MessageBoxOptions.ServiceNotification |
2097152 |
Окно сообщения отображается на текущем активном рабочем столе даже в том случае, если ни один пользователь не зарегистрирован в системе, = 221 |
Таблица 4.10. Константы (из набораSystem.Windows.Forms.HelpNavigator), для доступа к элементам файла Справки
Имя члена |
Описание |
Topic |
Открытие файла Справки в указанной теме, если эта тема существует |
TableOfContents |
Открытие файла Справки по оглавлению |
Index |
Открытие файла Справки для индексации |
Find |
Открытие файла Справки на странице поиска |
AssociateIndex |
Открытие файла Справки на элементе указателя на первый символ указанного раздела |
KeywordIndex |
Открытие файла Справки в разделе с записью указанного индекса, если он существует; в противном случае отображается элемент указателя, ближайший к указанному ключевому слову |
TopicId |
Открытие файла Справки в разделе, заданном числовым идентификатором раздела |
Таблица 4.11. Константы (из набораSystem.Windows.Forms.DialogResult), соответствующие возвращаемым методомShowзначениям
Константа |
Значение |
Нажатая кнопка |
OK |
1 |
OK |
Cancel |
2 |
Cancel(Отмена) |
Abort |
3 |
Abort(Стоп) |
Retry |
4 |
Retry(Повторить) |
Ignore |
5 |
Ignore(Пропустить) |
Yes |
6 |
Yes(Да) |
No |
7 |
No(Нет) |
None |
0 |
Диалоговое окно было закрыто без использования указанных кнопок |
Пример 4.5. Использование методаShowклассаMessageBoxдля отображения окна сообщения с запросом сохранения файла. В зависимости от того, какая кнопка была нажата в ответ на запрос, будут выполнены те или иные действия.
using System.Windows.Forms;
...
DialogResult result = MessageBox.Show(this,
"Сохранить изменения в файле test.txt?", // Сообщение
"MyApplication", // Заголовок
MessageBoxButtons.YesNoCancel, // Кнопки: Yes, No и Cancel
MessageBoxIcon.Exclamation, // Пиктограмма "Предупреждение"
MessageBoxDefaultButton.Button1); // Кнопка по умолчанию: Yes
if (result == DialogResult.OK) // Если была нажата кнопка Yes ...
... // Выполнение действий по сохранению файла
else
... // Выполнение других действий
...