beefcake made a good point about the protein.
I myself find it hard to put on weight, but the secret definately lies in your diet. I must stress though, it's not necessarily about how much you eat but WHAT you eat. If you just put a load of rubbish into yourself, you're going to get a load of rubbish out. Try to take in atleast 1g of protein for every pound of bodyweight. If you are not doing this, forget about gains. Also, you need to keep your carbs up. Try eating foods like potatoes and pasta, especially on days you are training (couple of hours before training). Carbs are your bodys preferred source of energy, if it doesn't have enough of 'em, it'll use up your precious protein. So:
*plenty of milk, chicken, cottage cheese,
low fat yogurts (especially on non-training/rest days)
*plenty of potatoes, pasta etc. (especially on training days).
Always take a big drink of protein immediately after your work-out. Stress on the IMMEDIATELY.
I personally take porridge/protein drinks 3/4 times a day.
Does that help any?