Если вам не нужны пользовательские кнопки, вы можете переместить фокус на другой элемент управления после завершения, это препятствует отображению прямоугольника.Вы можете поместить фиктивный элемент управления вне поля зрения и перенести фукус на это.
private void btnDoSomething_Click(object sender, EventArgs e)
{
myDummyControl.Focus();
MessageBox.Show("This still executes even though we have lost focus");
// If you are decoupling your code from the UI, this becomes second nature quickly as it becomes part of your control handling.
}
Также вы можете не дать элементу управления получить фокусировку Tab, установив его свойство TabStop tp false, сделайте это в кнопке Paint события.
Если у вас много кнопок, вы можете просто указать им один и тот же обработчик событий (On_Paint).
private void On_Paint(object sender, PaintEventArgs e)
{
Button thisButton = sender as Button;
thisButton.TabStop = false;
}