Допиливаем и дорабатываем редактор до товарного вида. Реализуем ещё несколько фишек.
Дата отправки отчёта:
1 декабря 2016 г.
Задание выполнено: за
1 час. 00 мин.
Чему научился:
Событию MouseWheel
Что было сложным:
найти время
Комментарии:
Разделил установку ширины и высоты уровня по разным TextBox, при установке вручную размеров и нажатии на Enter обновляется размер поля, если же размер поля уже таковой, обновления поля не будет, смысла нет =) При наведения на окошки ширины и высоты уровня курсора мыши, можно роликом мышки устанавливаться размеры (уменьшая/увеличивая) учитываются лимиты =) Если количество ящиков и мест для них не равны друг другу, они подсвечиваются красным. Алгоритм заливки поля выбранным объектом сделал по своему, потом посмотрел реализацию на видео и понял, что моя версия веселее =) Подсчёт ящиков и мест для них тоже реализовал по своему, использовав ранее созданный CountItems(), после чего посмотрел далее видео и понял, что про этот метод забыли видимо =) Заменил событие подгонки размера поля уровня только при отпускании мыши после изменения размеров формы. При обновлении количества ящиков и мест для них так же проверяется уровень на корректность, если имеется ошибка, она отображается в статусбаре.
Научился: создавать контролы кодом и назначать им свойства добавил небольшую функцию, отображающую номер текущего уровня в комбобоксе с возможностью перехода сразу к конкретному уровню
Научился: Д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);