ditto everything nailpolosh has said. Ds was 2 last week and he often laughs when we tell him off.
When he laughs we look very sad and upset (but stay very calm) hold both his hands (if possible to do so without resorting to violence - not always possible!), look into his eyes and tell him off again. God, you have to be a good actor in this game!
We also ignore it when it just seems to be attention seeking, like np said. And we shop online - cos I hate supermarket shopping too and I would kick and scream given half the chance! Oh yes, and we have conversations together (maybe you could pick up the phone and pretend to talk to a friend) either about something completely different or about how a good boy would behave (trying to make it sound annectdotal - you know, "I once knew this really good boy who always put his cars away and he got to have a bath with his mummy")
I like to remind myself "what is the worst that can happen?" If I say no, and he screams, that's it. That's the worst that can happen. And if he screams he also learns that mummy doesn't give in to screaming, and that's the very best that can happen!
Also, I know people say they are too young for star charts, but ds does seem to understand. When we had a problem before Xmas, we gave him rewards from him advent calendar. We kept the instruction very simple so that he could repeat it ("no crying, get special treat") and we really really kept to it, which meant some heartbreaking times with him screaming for his special treat! And now we just have to use our well worn, simple phrases (such as "no crying") to remind him.
HTH, ds does seem to be calmer and happier now. But then again I can't believe I am writing this, when I am at home today basically cos I couldn't bear the thought of work cos I feel like I'm so crap at everything that I'd have ended up crying all day - so feel free to ignore anything I say!