Since HTML source must be sent to a browser before the browser can render a page, there is NO WAY to prevent a user from seeing the source. This is one reason people use cloaking, a request for a page can present different source to a human visitor then that presented to a spider. It's all done transparently on the server, and the human visitor doesn't see the source that ranks well (or maybe not! :) ) on an SE.
I know a developer that uses "Code Defender" on most of his sites... Actually at the top of each page he places a statement something like: "The source code on this page is protected by Code Defender. Your IP has been logged and ....yada yada yada. What he does is place about 200 CR's just below this statement to make it look like you can't view the code.