I have a brand new diet strategy. This is one of the cheapest there is - wear tight pants. Now I am not talking about trying to look like your from an 80's rock video. I am just talking about wearing the pants that almost feel slightly uncomfortable or fit just right. Do not wear baggy clothes when you know you are going to be around food.
Think back to the last special occasion you attended - wedding, birthday party, holiday party, etc, etc. You were wearing a nice pair of slacks or fitted dress. Your clothes fit just tight enough that if you eat one more piece of cake, another roll or one last cocktail your clothes are going to start pinching a little. Were you less likely to eat that other roll? I am not saying that I haven't chanced it. How else would I know that my clothes were going to pinch?
Why not use this to your advantage? Whenever I attend holiday events where my pants are nice and comfy, I find myself eating entirely too much. There are no consequences that are immediately recognizable. When I wear clothes that fit better, I don't overindulge (as much).
So, stop trying to wear sweatpants or elastic waist pants to those functions where you will have ample opportunity to overeat. You know that's why you wear them in the first place. Wear the pants that look great and enjoy just a little food. It won't hurt you.
Oh and have a little snack beforehand. You won' t be ravenous when you get there. Enjoy!!