Is this possible to display button on Windows Form only when focus is on specific textbox?
Tried that with this approach:
    private void button3_Click(object sender, EventArgs e)
    {
        MessageBox.Show("OK");
    }
    private void textBox2_Enter(object sender, EventArgs e)
    {
        button3.Visible = true;
    }
    private void textBox2_Leave(object sender, EventArgs e)
    {
        button3.Visible = false;
    }
No luck, because button click does not work then, because button is hidden immediately after textbox lost focus, preventing it from firing button3_Click(/*...*/) { /*...*/ } event.
Now I'm doing it like that:
    private void button3_Click(object sender, EventArgs e)
    {
        MessageBox.Show("OK");
    }
    private void textBox2_Enter(object sender, EventArgs e)
    {
        button3.Visible = true;
    }
    private void textBox2_Leave(object sender, EventArgs e)
    {
        //button3.Visible = false;
        DoAfter(() => button3.Visible = false);
    }
    private async void DoAfter(Action action, int seconds = 1)
    {
        await Task.Delay(seconds*1000);
        action();
    }
Form now waits for a second and only then hides button3.
Is there any better approach?