如何使菜单绑定键

时间:2019-01-16 01:12:25

标签: c# menu

我想创建一个字段(文本框,按钮,标签...),当选择并按下某个键时,请使用该键的名称。

我正在尝试失败,

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

Edit1:

My menu

当前,我需要在文本框中手动输入密钥代码,我想单击该字段并按下一个键,将textbox.text更改为密钥代码

1 个答案:

答案 0 :(得分:0)

如果您询问用户在触摸屏监视器上按下键时如何绑定键,则为以下示例。

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();
        }
    }
}

希望会有所帮助。