Невозможно смоделировать это поведение, используя стандартную реализацию класса кнопки. Однако вы можете добавить подкласс для кнопки, чтобы добавить это поведение:
public class KeyboardButton : Button
{
public void SimulateButtonDown()
{
this.OnMouseDown(new MouseEventArgs(MouseButtons.Left, 0, 1, 1, 0));
}
public void SimulateButtonUp()
{
this.OnMouseUp(new MouseEventArgs(MouseButtons.Left, 0, 1, 1, 0));
}
}
При вызове SimulateButtonDown
кнопка переходит в (визуальное) состояние, имитирующее, что мышь нажимали (и удерживали) на кнопке. Подобные методы можно реализовать и для событий при наведении.