Распознавание последней кнопки, которая была нажата C # - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть 3 кнопки btn1 btn2 btn3 и текстовое поле, когда я нажимаю любую кнопку, она будет фокусироваться на текстовом поле, моя проблема заключается в том, что когда я нажимаю escape, я хочу сфокусироваться на последней нажатой кнопке.Например, я нажал btn2, когда нажал esc, он снова сфокусируется на btn2.

1 Ответ

0 голосов
/ 02 февраля 2019

Попробуй это.Здесь все три кнопки связаны с общим событием щелчка "btn_Click".

public partial class Form1 : Form
{
    private string controlName = "";
    public Form1()
    {
        InitializeComponent();
    }

    private void btn_Click(object sender, EventArgs e)
    {
        Button btn = (Button)sender;
        controlName = btn.Name;
        txtBox.Focus();
    }

    private void txtBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Escape)
        {
            this.Controls[controlName].Focus();
        }
    }
}
...