I have installed windows 7 and then Ubuntu 11.04. Now I want to know how I can switch from Ubuntu to Windows 7 and from Windows 7 to Ubuntu without restarting the computer.
This is not possible from a standard dual boot setup. You can put links on your desktop to reboot from one to another but a reboot is required.
You could do this with virtualization though using a hypervisor: Use a virtual machine manager (VM Ware or Xen) to install all the operating systems and you can then start both operating systems independent of each other. Here is a How to installing Ubuntu 11.04 with Xen 4.1
Virtualbox is a program where you install a operating system inside another one (so that is not exactly what you are asking). This type of virtualization is called
supervisor. Using this kind of virtualization is not independent of each other though: your guest system suffers a performance penalty since you need 1 to run the other.
I agree with Rinzwind. If you only need windows occasionally for few applications, installing Wine (Wine Is Not an Emulator) can be an option, to run these programs.
This can avoid the disruption of a reboot - how it compares to a VM-installation: I can't say, I guess it might be a bit faster. About stability and compatibility, you have to find out yourself.
I think that what you are looking for is some virtual machine if your intention was to use both the operating systems at the "same" time, because if you want to switch between them you will have to restart, unless there are some hack that actually works.
Since when you start up your computer Bios looks for bootable parts of your harddrives, then grub/grub2 takes care of the rest.
So my solution is to install windows 7 as a virtual machine using Virtual Box, that's the software I use, and I have found it to work well for me, only thing that might be problematic is USB, if you use the open source one.
Provided your hardware is compatible, you could pretty much accomplish what you have in mind using XenClient 2 under which ALL of your operating systems would (once reinstalled) be running as virtual operating systems.
Note that XenClient 2 is based on the Xen. To run XenClient, your CPU must support VT-x or AMD-V. Also, XenClient 2 is currently in a "free to try" phase of development. Not sure what will be the cost/availability of XenClient 2 in the future.