Может ли пользовательский интерфейс взаимодействия Winforms объединить свои меню со строкой меню формы контейнера VB6?

#c# #winforms #vb6 #activex #vb6-migration

#c# #winforms #vb6 #activex #vb6-миграция

Вопрос:

Я пытаюсь перенести пользовательский интерфейс VB6 в управляемый код. Исходный элемент управления имеет набор стандартных меню (файл, Справка и т. Д.), Которые Объединяются в строку меню его формы контейнера (обычная форма VB6) Во время выполнения.

Теперь элемент управления переписан на C # и зарегистрирован как элемент управления ActiveX, который можно удалить в форме Visual Basic 6 в среде IDE VB6. Следующим шагом будет заполнение строки меню формы путем слияния меню меню пользовательского интерфейса с панелью меню контейнера.

Возможно ли это? Может ли пользовательский интерфейс взаимодействия объединить свои меню в строку меню своего контейнера (как это можно сделать с помощью пользовательских интерфейсов VB6)?

Комментарии:

1. Компонент MainMenu доступен в WinForms, вы должны получить его из панели инструментов (выбрать Элементы …), Выбрать его, а затем выполнить поиск в панели инструментов (с помощью панели поиска). Он больше не будет доступен в .Net 5 (и, IIRC, в .Net Core 3.0 )

2. Есть ли какие-либо доступные примеры, демонстрирующие, как использовать это для взаимодействия?

3. ИМО, вам следует поискать примеры, показывающие, как перенести форму VB6 в форму .Net.

4. Я сомневаюсь. СЕТЕВЫЕ меню относятся к тому же типу объектов, что и объекты VB6. Если все они реализуют один и тот же интерфейс, возможно, но сомнительно. Если вы можете создавать реальные объекты меню VB6 из .NET, у этого больше шансов на работу.

5. Наше фреймовое окно ActiveX написано на C , и меню VB6 OCX совместимы.