У меня есть приложение VB6, которое ссылается и вызывает компонент .NET GUI. Компонент .NET GUI имеет сетку данных. Я хочу, чтобы двойной щелчок по строке в сетке данных вызывал отображение формы в приложении VB6?
Как я мог это сделать?
1 ответ
Я предполагаю, что вы получаете доступ к объектам .NET через COM-взаимодействие, и в этом случае вы просто создаете обычное событие в элементе управления и можете использовать его в потребителе (VB6), как и любые другие события элемента управления.
public MyNetClass {
public delegate void RowDoubleClickedDelegate(int Row);
public event RowDoubleClickedDelegate RowDoubleClicked;
protected void OnRowDoubleClicked(int row) {
if (RowDoubleClicked != null) {
RowDoubleClicked(row);
}
}
}
И в VB6:
Dim WithEvents NetObect As MyNetClass
Private Sub MyNetClass_RowDoubleClicked(ByVal Row As Long)
MsgBox CStr(Row) & " clicked"
End Sub
WithEvents
в объявлении, как предложил Коди.
this.eventname(value1);
См. это руководство по основам событий .NET. Затем эти события автоматически становятся доступными для потребляющего объекта через COM-взаимодействие.
Похожие вопросы
Связанные вопросы
Новые вопросы
.net
НЕ используйте для вопросов о .NET Core - используйте вместо этого [.net-core]. .NET Framework - это программная среда, предназначенная главным образом для операционной системы Microsoft Windows. Он включает в себя реализацию библиотеки базовых классов, общеязыковой среды выполнения (обычно называемой CLR), общей системы типов (обычно называемой CTS) и динамической среды исполнения. Он поддерживает множество языков программирования, включая C #, VB.NET, F # и C ++ / CLI.
WithEvents
в VB 6. Дополнительная информация: здесь.