Как сделать меню для привязки клавиш - PullRequest
0 голосов
/ 16 января 2019

Я хочу создать поле (текстовое поле, кнопку, метку ...), в котором при выборе и нажатии клавиши введите имя клавиши.

Я пытаюсь это безуспешно:

private void label24_Click(object sender, System.Windows.Forms.KeyEventArgs e)
{
    label24.Text += e.KeyData.ToString();
}

Edit1:

Мое меню

В настоящее время мне нужно вручную ввести код ключа в текстовое поле, я хочу нажать на поле и нажать клавишу, текстовое поле textbox.text изменится на код ключа

1 Ответ

0 голосов
/ 16 января 2019

Если вы спрашиваете, как связать клавишу, когда пользователь нажимает ее на сенсорном мониторе, ниже приведен пример.

private void label24_Click(object sender, EventArgs e)
{   
    myButton btn = (myButton)sender;
    MyTextBox.Text += btn.Tag.ToString();
}

но если вы хотите перебрать все кнопки в поле. Смотрите пример ниже

public partial class myNumpad : UserControl
{
    public myNumpad()
    {
        InitializeComponent();
        BindControls(tableLayoutPanel2);
    }

    public void BindControls(TableLayoutPanel table)
    {
        for (int i = 0; i <= table.ColumnCount; i++)
        {
            for (int j = 0; j <= table.RowCount; j++)
            {
                Control c = table.GetControlFromPosition(i, j);
                if (c is myButton)
                    c.Click += new EventHandler(Numpad_Click);
            }
        }
    }

    [BindableAttribute(true), Category("Control"), Description("SetControl")]
    public Control SetControl { get; set; }

    private void Numpad_Click(object sender, EventArgs e)
    {
        if (SetControl != null)
        {
            myButton btn = (myButton)sender;
            SetControl.Text += btn.Tag.ToString();
        }
    }
}

надеюсь, что это поможет.

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