Run the application by pressing F5.
Confirm that your code works by choosing your button (either by clicking it or pressing Space).
Choose the OK button and then close your application (either by pressing Alt+F4 or by clicking the Close button in the upper-right corner of the Form1 window).
Select the button in the form design window and then use the Properties list to change the (Name) property to cbnHello.
Run the form and then choose the button. Notice that nothing happens.
Exit your application and then double-click your button.
Note that Visual Basic creates a new Click() subroutine for cbnHello.
If you're familiar with other development tools and are new Visual Basic, this can be a bit of a surprise. For example, when you rename objects in Borland Delphi, it automatically renames any existing event handlers to correspond to the new name of the object they're attached to. Visual Basic doesn't do this.2
Note for those with Delphi experience: Visual Basic does, however, remove empty event handlers. Note that it does this when the application is compiled (either using File | Make EXE or when you run the application from the Visual Basic IDE). Remember that Delphi also does this when you save your files.3
To fix the problem, either manually rename Command1_Click() to cbnHello_Click or use standard editing techniques to move your code to the new subroutine.
Lessons Learned
Two lessons come to mind from this experience:
When learning new development tools, be prepared for different ways of thinking. In this case, a Delphi programmer may expect Visual Basic to sport similar conveniences. It does, but somewhat differently than you expect.
When developing Visual Basic applications, it's best to name your objects before adding code to their event handlers.
Footnotes:
1 - This is a common technique for creating self-documenting code. The idea is to give objects names appropriate for the uses they're put to. In this article, for example, naming the button cbnHello provides two pieces of information to the person reading the source code: 1) the object is a command button and 2) it's intended to display the standard "Hello, World" message commonly used to teach programming languages.
2 - On the off-chance that this is read by anyone on the VB development team or with input into the next release (e.g. beta-testers), this would be a nice feature to see added to the product, either as a direct feature or a user-controlled preference.
3 - This would also be a nice addition to the product.