Допиливаем и дорабатываем редактор до товарного вида. Реализуем ещё несколько фишек.
Дата отправки отчёта:
6 января 2016 г.
Задание выполнено: за
2 час. 10 мин.
Чему научился:
Повторил работу с toolStrip, toolStripComboBox.
Что было сложным:
Понять, как сделать значения из списка toolStripComboBox доступными только для чтения.
Комментарии:
Понравился способ добавления сразу нескольких элементов на поле игры. Внес небольшие изменения, поставил перед собой цель - ограничить выбор и установку значения ширины и высоты уровня в допустимых пределах, то есть, разрешить ввод только числовых значений и организовать проверку случая выхода за границы интервала минимального и максимального размера уровня. Сначала хотел добиться этого путем создания дополнительного кода: просто брать данные из textBox и парсить, но хотелось другого решения, с помощью средств компонентов Windows Forms. Решение оказалось простым - компонент toolStripComboBox. Для того, чтобы игрок не мог ввести буквы и число вне диапазона, установил значение свойства DropDownStyle = DropDownList, и благодаря этому данные из toolStripComboBox оказались доступными только для чтения и возможный выбор размера ограничен моим заранее созданным списком значений. Осталось дело за малым, корректно заполнить список элементов списка и в дальнейшем обрабатывать выбранное значение.
Архив проекта:Ссылка доступна после самостоятельного выполнения этого урока
Не понял, Ильшат. toolStripComboBox - это компонент - комбобокс с текстбоксом что ли , совмещенный ? и при вводе значений в этом тексбоксике , выбираются значения из содержимого комбобокса?
Александр, да, в комбобоксе можно вводить текст, причем любой - цифры, буквы, что угодно и при вводе комбобокс выполняет поиск по списку содержащихся элементов. Мне нужно было ограничить ввод только для чисел и только в определенном диапазоне, у меня это от 5 до 40, для этого просто установил DropDownStyle = DropDownList и получил желаемое. Попробуй, если интересно)
Научился: создавать контролы кодом и назначать им свойства добавил небольшую функцию, отображающую номер текущего уровня в комбобоксе с возможностью перехода сразу к конкретному уровню
Научился: Дeлать измeнение рaзмеpов лaбиpинта чeрез текстовое поле.
Дeлать пpямоугольнoе зaполнeниe лабиpинта выбранным объектом.
Дeлать cчётчик ящиков и паркoвочныx меcт для ниx.
Дeлать Тултипы для контролов
Трудности: Возникли вопросы:
при использовании текстового поля со свойством BorderStyle = Fixed3D,
я надеялся увидеть "объёмный вариант", а на самом деле оно выглядит как Label.
Хотелось бы подробнее узнать как программно перехватывать ошибки с помощью try - catch.
Возникли вопросы:
при использовании текстового поля со свойством BorderStyle = Fixed3D,
я надеялся увидеть "объёмный вариант", а на самом деле оно выглядит как Label.
Хотелось бы подробнее узнать как программно перехватывать ошибки с помощью try - catch.
Замечаний, практически, нет.
Особенно понравилась реализация пpямоугольнoго зaполнeния лабиpинта выбранным объектом.
Хочу предложить более простой способ использования функции Split(x)
с разделителем, отличным от пробела:
char dl = 'x';
string[] wh = toolStripTextBoxLabirintSize.Text.Split(dl);