I agree with PCat on this, as it is something I have done at least once per campaign. Get a consensus from all your players about whether and how much they like your campaign, and if he is the only dissenter, then calmly explain (in front of the group is risky, but you do have peer pressure going for you if it works well) that some of his activities are very disrupting for your game, and it honestly makes it harder on you as a DM, when he does not take his arguments before or after the game. If he wants to camplain, fine, but ask him not to do it during the game.
It really sounds as if he is having problems with one thing in-game that is irking him enough to be contrary, or if really could be real-world problems. Regardless, if he is spoling the game for all involved, he needs to either make helpful suggestions for what he would like, or he needs to take up another game group if your game is unsatisfactory.
Good Luck!