Thank you for writing back.
I cannot say that you should avoid the standard or inherited WinForms properties but it depends on what you are trying to achieve. For example, if you set the fore color as in your last code snippet this will change the color of the text in the button for all element states. A value set this way is considered to be local and it has a higher priority than the properties defined in the themes. At the same time, our controls are built internally from light-weight visual elements on top of TPF
enabling our theming mechanism to work. The themes work with property values set on the visual elements and not on the control.
As your task is to change the border colors of the buttons for the default state you will need to use the ThemeValueOverride API
similarly to my code snippet. The VSB
tool will also help when inspecting the available states for a particular element.
I hope this information is useful. Let me know if you need further assistance.