Is it possible to capture keystrokes at the form level, rather than capturing them in control events?
Yes. For the form's keyboard-related events to fire when a control has the focus, however, you must set the form's KeyPreview property to true. The control's keyboard events will still fire, unless you set KeyPressEventArgs.Handled to true in the control's KeyPress event.
You don't seem to always specify a button in your MessageBox.Show() statements throughout this book. Why?
If you don't explicitly designate a button or buttons, Visual C# displays the OK button. Therefore, if all you want is an OK button, you don't need to pass a value to the Buttons argument.