Myślę, że istnieje wiele różnic, ale pierwszym, który skacze na uwadze to, że System.Windows.Controls.Control
zastosowania szablon do definiowania wizualnych aspektów kontroli, bez szablonu nie ma w ogóle żadnego aspektu wizualnego. Innymi słowy bez definiowania tego szablonu nie można go ustawić, aby był widoczny lub pokazywał go w aplikacji, ponieważ nie ma dosłownie definicji wizualnej.
Z drugiej strony masz System.Windows.Forms.Control
, który pozwala utworzyć kontrolkę, która dziedziczy z UserControl, klasy kontrolnej lub innej Kontroli systemu Windows. Jeśli nie określisz nowego ustawienia wizualnego dla twojego sterowania, wyświetli się ono w zależności od tego, jakie ustawienie ma kontrolować nadrzędna kontrola, którą odziedziczyłeś.
Dzięki temu uzyskasz większą elastyczność, niż koszt dodatkowej pracy, a dzięki System.Windows.Forms.Control
możesz dziedziczyć z istniejących elementów sterujących, oszczędzając czas, jako koszt mniejszej elastyczności.
To, co uważam za mylące, to prawdopodobnie import kontrolki ActiveX. Jest napisany w Delphi i oczywiście nie pochodzi z System.Windows.Forms.Control. – Mmarquee