Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Нанософт / Баскетбольное табло

  • На этом уроке мы попрактикуемся в создании двух форм и передаче данных между ними.

    Задание:
    Написать программу для управления баскетбольным табло.
    Выводить результаты на весь экран большими цифрами.
  • Дата отправки отчёта: 14 октября 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: то что в аргументе можно ставить null, null
  • Что было сложным: Найти время
  • Комментарии: все норма
  • Оценка видео-уроку:
Отчёт от 5565 за Нанософт / Баскетбольное табло


Отчёт от 5565 за Нанософт / Баскетбольное табло




Оцени работу

 
Сохранить страницу:

24. Олюшка
Олюшка
ответить
→  Frank  # Прикладные / Баскетбольное табло / 2015-10-14 13:12

Франк, я рада что ты нашел время и сделал такую классную программу и еще и знания прибавил! Так держать! :)



Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Трудности: вроде ничего. работала уже с несколькими формами. даже через несколько классов, используя наследование, инкапсуляцию, полиморфизм и. т. д.
когда функции resize передаю null null возникает ошибка "Ссылка на объект не указывает на экземпляр". Без этого всё работает. с кликом кнопки такого нет
Научился: Повторил изученный ранее материал. Поскольку созданное табло имеет смысл запускать при наличии двух мониторов (один для самого табло, второй для пульта управления у судей), то добавил ещё кнопку «максимизации». Как обрабатываем указанное событие видно на скриншоте (фрагмент кода): если табло уже максимизировано, то возвращаем ему исходные размеры и возможность ресайза вручную, в противном случае разворачиваем табло на полный экран и скрываем заголовок и рамки окна. Также, чтобы предусмотреть экраны с экзотическими соотношениями сторон, можно вычислять размер шрифта следующим образом: для шрифта лейблов с очками команд берём Math.Min между высотой лейбла, делённой пополам (чтобы оставались отступы выше и ниже), и между шириной лейбла, делённой на три (четырёхзначных счетов в баскетболе не бывает). Соответственно обработчик для ресайза всей формы заменяем на обработчик ресайза для двух лейблов отображающих счёт матча. То же самое проделываем для лейблов с названиями команд, только делитель ширины лейбла ставим такой, который равен максимальному количеству букв в теоретически возможном названии команды. Если, например, стоит 12, это гарантирует что название команды, например, «Проммашспорт» (12 букв) будет показано целиком в одну строку и его окончание не пропадёт за границами лейбла на всех экранах с любым соотношением сторон и при любом ресайзе формы вручную.
Трудности: Сложностей не возникло.
Отличный урок, всё понятно.