Как форсировать визуальные стили при использовании .NET форм Interop из VB6 - PullRequest
0 голосов
/ 04 января 2011

Я создал библиотеку классов VB.NET, которая предоставляет некоторые подпрограммы COM Interop.Они в свою очередь показывают различные формы, которые содержатся в библиотеке классов.Когда формы отображаются из VB6, они не наследуют визуальные стили операционной системы и действуют как элементы управления VB6.

Я понимаю, что это, вероятно, из-за замысла, но есть ли какой-нибудь способ принудительно / контролировать визуальные стили вручную в сборке .NET?Я бы предположил, что если я использую манифест в своем приложении VB6, тогда все будет использовать правильный стиль, но я хотел бы иметь возможность контролировать это сам, если это возможно, поскольку мы используем сторонние элементы управления в VB6, которые не требуют манифеста.

1 Ответ

4 голосов
/ 04 января 2011

Я думаю, манифест - это способ сделать это, но сначала вы всегда можете попробовать это:

Добавьте ссылку на Windows.Forms и вызовите эти два метода в вашей сборке.точка входа:

    System.Windows.Forms.Application.EnableVisualStyles()
    System.Windows.Forms.Application.DoEvents()

Примечание. Мы вызываем DoEvents (), потому что произошла ошибка в фреймворке, которая вызвала ошибки и плохо прорисованные стили.Я считаю, что это было исправлено с тех пор, но на всякий случай.

...