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

Формула программиста
основатель — Волосатов Евгений Витольдович
Большой Новогодний подарок от Игромистра
Безденежный доступ к видеокурсам за Мегахеши

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

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

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




Оцени работу

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


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




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

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

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

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