Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2022, 12:10   #1
Jiokeyu
Новичок
Джуниор
 
Регистрация: 19.04.2022
Сообщений: 1
Радость Экранная клавиатура Windows Form C#

Здравствуйте. Я делаю игру на С# "Угадай слово". Концепция такая : Программа загадывает слово, а пользователь пытается его отгадать, вводит разные слова с экранной клавиатуры. Буквы, которые были угаданы подсвечиваются другим цветом в зависимости от их положения в слове (зелёным, если буква стоит в начале, желтым если буква угадана, но стоит в другом месте и серым, если буква не угадана) далее для ввода слов можно нажимать буквы которые поменяли цвета.

Нигде не нашла шаблона для создания похожей клавиатуры. Хочу сделать её с помощью массива, но знаний не достаточно, чтобы это реализовать. Помогите!
Jiokeyu вне форума Ответить с цитированием
Старый 19.04.2022, 13:02   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

а какой шаблон вы хотите?? Создать форму и разместить на ней кнопки ??
Если прям грубо только буквы то вообще одним циклом можно все сделать. Для WF разве что будет не очень красиво подсветка для букв.

Код:
        void fill()
        {
            string word = "клоп";
            string alph = "абвгдеёжзийклмнопрст";
            int posX = 10;
            int posY = 50;

            for (int i = 0; i < alph.Length; i++)
            {
                Button btn = new Button()
                {
                    Name = "btn" + i,
                    Text = alph[i].ToString().ToUpper(),
                    Width = 50,
                    Height = 50,
                    Location = new Point(posX, posY),
                    BackColor = word.ToUpper().StartsWith(alph[i].ToString().ToUpper()) ? Color.Yellow : (word.ToUpper().EndsWith(alph[i].ToString().ToUpper()) ? Color.Green : ((word.ToUpper().Contains(alph[i].ToString().ToUpper()) ? Color.Silver : Color.Transparent)))
                };
                btn.Click += Btn_Click;

                this.Controls.Add(btn);


                int offsize = btn.Width + 5;

                posX += btn.Width + 5;
                if (posX > offsize * 10)
                {
                    posY += offsize;
                    posX = 10;
                }

            }
        }
Изображения
Тип файла: png Безымянный.png (5.4 Кб, 9 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компонент экранная клавиатура MikeSam Компоненты Delphi 1 02.05.2011 19:18
экранная клавиатура mobilitialex Общие вопросы Delphi 1 10.03.2011 17:19
Экранная клавиатура как в Windows 7 yra-joey WPF, UWP, WinRT, XAML 0 04.03.2011 15:12
Экранная клавиатура Кристинка89 Общие вопросы Delphi 7 02.03.2011 23:45
Экранная клавиатура aesoem Софт 9 13.03.2009 10:59