If you want a professional looking paint job on your gun, heres what you need: First, clean off the area to be painted with rubbing alcohol. Second, put a layer of primer down. Once that dries, you can start adding your color. Do two to three light coats so that everything is covered, but its not too thick. Finally, get some flat clear finish and put a layer of that down.
Make sure to allow each layer to sit overnight. This may seem stupidly long to wait, but a really good paint job takes time and effort, and if you did it right, the results are definitely worth it.
Oh and to answer your question, brand of paint really doesnt matter. I've noticed that rustoleum goes on thicker than Krylon, but that could be good or bad depending on your prefferences.