WindowsForms はなんでこんなにクソなのか?

WindowsForms は(俺の使い方が間違ってるのかもしれないが)本当にクソだ。
ほとんどのコントロールのイベントがユーザーの操作によって発生したのか、
プログラム内部で発生したのか区別できないのが本当にクソだと思っていた。


しかし、Form の Closing イベントにはちゃんと EventArgs に CloseReason というメンバーがある。
これはいいね!!


ってなんで someForm.Close(); ってメソッド呼び出した結果の CloseReason が CloseReason.UserClosing なんだよ!? バカか!? バカなのか!?
もはや確信犯としか思えない。


誰か正しい WindowsForms の使い方を教えてください。。。