Hallo Piti,
in diesem
Link ist einiges beschrieben, wie man Farben setzen kann, die VB eigentlich nicht kann (im Beispiel die ForeColor eines Command-Buttons, für die es ja auch keine VB-Eigenschaft gibt).
Wie im Artikel geschrieben wird, stellt sich die Frage, ob "ein solches Gimmick den Aufwand rechtfertigt". Denn der ist schon beträchtlich. Aber damit solltest du vielleicht auch bei den von Dir eingesetzten Controls weiter kommen.
Ansonsten musst Du Dir die Frage stellen, ob dies wirklich sinnvoll ist. Ok, Du erhältst dadurch ein individuelleres Aussehen Deines Programms. Das Problem ist nur, dass das Programm dann IMMER diese Farben hat. Teilweise sieht es absolut fies aus, wenn man so ein individuell gefärbtes Programm dann auf einem Rechner laufen lässt, dessen Besitzer sich andere Desktop-Farben definiert ha! Diese passen dann in der Regel überhaupt nicht zu den gesetzten Farben. Selbst Deine roten Buttons haben schon das Problem, dass sie schlecht lesbar sind (schwarz auf rot).
Mein Ratschlag ist, mit der Farbgebung sehr sparsam umzugehen, und nur dort individuelle Farben zu setzen, wo es erforderlich ist, z.B. bei der Anzeige von Warn- oder Fehlermeldungen, die die unbedingte Aufmerksamkeit des Benutzers erfordern.
Ich habe die im Beispiel genannten Funktionen nicht selbst ausprobiert, hoffe aber, dass es Dir trotzdem weiter hilft. Wenn Controls standardmäßig keine Forecolor oder Backcolor-Eigenschaft haben, ist es in der Regel halt aufwendig.
Alternativ kannst Du für viele Controls natürlich auch (meistens kostenpflichtige) andere Controls besorgen, die häufig einen erweiterten Funktionsumfang haben.
Viele Grüsse
ronaldh