Exemple #1
0
        /// <summary>
        /// Событие на нажатие кнопки
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void KeyButton_Click(object sender, RoutedEventArgs e)
        {
            // Получим текст кнопки
            string Out = ((KeyButton)sender).Letter;

            // и произведём операцию
            switch (Out)
            {
            // Сначала специфичные
            // - Shift - изменим регистр
            case "Shift":
                Shift = !Shift;
                foreach (KeyButton KB in NumEngKeys)
                {
                    KB.SetShift(Shift);
                }
                foreach (KeyButton KB in NumRusKeys)
                {
                    KB.SetShift(Shift);
                }
                foreach (KeyButton[] KBA in RusKeys)
                {
                    foreach (KeyButton KB in KBA)
                    {
                        KB.SetShift(Shift);
                    }
                }
                foreach (KeyButton[] KBA in EngKeys)
                {
                    foreach (KeyButton KB in KBA)
                    {
                        KB.SetShift(Shift);
                    }
                }
                break;

            // - Изменим язык
            case "En/Ru":
                Lang = Lang == Languages.Eng ? Languages.Rus : Languages.Eng;
                break;

            // - Закроем клавиатуру
            case "OK":
                Visibility = Visibility.Collapsed;
                break;

            // - В остальных случаях напечатаем написанный символ
            default:
                WriteLetter(Out);
                break;
            }
        }