Only ourselves can keep us from being happy. I have seen people go through the worst of conditions and still be happy, and those who have it all and be upset. Only we can keep ourselves from being happy.
One of the things that keep us from being happy is worrying over the future and regretting over things that happened in the past. The key to being happy is to live in the present and being grateful for who we are.
A thought is the only thing that can keep us from being happy. What a revolutionary truth that is! The thought that interferes with happiness the most is a thought of lack, which is at the base of all desire. If we didn't think that something was missing or lacking about ourselves, someone else, our situation, or life, we wouldn't be unhappy. Unhappiness is caused by believing that something we think we need to be happy is missing. It's this belief that makes us unhappy, not the fact that something is or isn't here right now. The ego produces thoughts of lack. The sense of lack created by the belief that something is missing produces a desire, which is simply the thought “I want.” That desire is fed by more thoughts about what getting what we want or not getting what we want would mean. Then feelings, such as fear, come up related to not getting what we want, and action is taken to try to fulfill the desire and waylay any fears.