Добавление кнопки или формы разрывов ссылок - PullRequest
0 голосов
/ 01 апреля 2012

Я использую форму Windows, и внутри формы у меня есть пользовательский элемент управления с двумя метками, одна из которых имеет сообщение ENTER AMOUNT, а другая - где я помещаю значения, введенные пользователем (например, при переходе в банкомат). ) он начинает показывать число ... он работает нормально, если у меня нет каких-либо других элементов управления на пользовательском элементе управления ... но как только я добавляю кнопку, она не работает, он не начнет показывать числа, когда я использую цифровую клавиатуру. ... но если я удалю любую добавленную кнопку, она снова заработает ... Вот мой код управления пользователем.

 public partial class OperationAmount : UserControl
    {
        public OperationAmount()
        {
            InitializeComponent();
        }

        private int _inputNumber = 0;

        private void OperationAmount_Load(object sender, EventArgs e)
        {
        }

        private void Form_KeyAmountPressed(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsNumber(e.KeyChar))
            {
                return;
            }
            else if (lblOperationAmount.Text.Length > 9)
            {
                return;
            }
            else
            {
                _inputNumber = 10 * _inputNumber + Int32.Parse(e.KeyChar.ToString());
                ReformatOutput();
            }
        }

        private void ReformatOutput()
        {
            lblOperationAmount.Text = String.Format("{0:0.00}", (double)_inputNumber / 100.0);
        }

    }

1 Ответ

0 голосов
/ 01 апреля 2012

Вероятно, новый элемент управления крадет нажатия клавиш из вашего метода Form_KeyAmountPressed, потому что теперь он имеет фокус и получает событие KeyPress.
Простой обходной путь - добавить метод Form_KeyAmountPressed также при событии KeyPress кнопки.Попробуйте также установить для свойства TabStop кнопки значение false.(не уверен, будет ли это иметь эффект, когда кнопка является единственным элементом управления, который может сфокусироваться на вашем пользовательском элементе управления).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...