The short answer on your question could be following. You can do what you wrote, but it is not that you normally do in SP and workflows in SP work in different way.
Most likely, you understand types of workflow in SP incorrectly. You can't write workflow on a form. Usually you create WF which should be run on some items in a list or a library.
For instance it could work as follow:
- Step 1. You created WF ("Approve absence") associated with some list ("Absence requests" for example).
- Step 2. Somebody (for example, John) adds new Absence request (by filling in some form). In this form he could show when he wants to go on vacation.
- Step 3. John starts the "Approve absence" WF by selecting his request -> pressing Workflows button on the ribbon -> pressing "Approve absence" link.
After that your WF starts and it can send emails, assign tasks and so on. The main point here is that you should start workflow on some item. Usually you don't need to make start of the WF by pressing some button inside your Visual WebPart (they are used to show some information).
So possibly you could start from reading some articles to understand how WFs work in SP.
You can start here to understand what types of workflow could be.
After that (or even before :) you can create your own HelloWorld list workflow using SharePoint Designer. There are a lot of walkthrough tutorials about it. It seems that this one is suitable.
PS: Creating WF in Visual Studio is very complex task and should avoid it at least on the first stage (it can take several months of hard studying to understand it).
PPS: Some books you can read:
- SharePoint 2010 Workflows in Action
- Professional Workflow in SharePoint 2010