Winforms does not support theming of any sort. Winforms is a thin layer over the Win32 API and will follow the theme of Windows. If you want theming support in Winforms your only real option is to use a third party library but even then it isn't great and there will be gaps. This is just the way it is with Winforms.
If you don't want to go that route then you'll need to define a "theme" based upon what you want to change, create the structures to support it and then at runtime swap out the colors based upon the theme you are using. Of course there are things you won't be able to change and you still cannot change things that managed by Windows such as the chrome around the main window and message box styling. You can see a sample article that someone wrote here. I cannot confirm or deny how good the solution is.
If you aren't tied to Winforms then WPF/XAML supports theming.