【发布时间】:2016-05-19 18:30:11
【问题描述】:
我有一个基本问题。我正在创建一个 VSTO Word 插件。我有一个功能区按钮,它打开一个名为 TableSelector 的 WPF 对话框。它以 Windows 形式托管。
Public Class RibbonControl
Private f As Form
Private Sub btnSelectTable_Click(sender As Object, e As RibbonControlEventArgs) Handles btnSelectTable.Click
Dim h As New System.Windows.Forms.Integration.ElementHost()
Dim tableselector1 As New TableSelector
f = New Form()
f.MaximumSize = New Size(500, 380)
f.MinimumSize = New Size(500, 380)
f.MaximizeBox = False
f.Name = "HostForm"
h.Dock = DockStyle.Fill
h.Child = tableselector1
f.Controls.Add(h)
f.Show()
f.TopMost = True
End Sub
Public ReadOnly Property hostForm() As Form
Get
Return f
End Get
End Property
End Class
然后我在该 WPF 控件上有一个关闭按钮来关闭对话框。当我单击它时,出现运行时错误“对象引用未设置为对象的实例”。在下面代码的第 3 行。
Private Sub btnClose_Click(sender As Object, e As RoutedEventArgs) Handles btnClose.Click
Dim ribbon As New RibbonControl()
ribbon.hostForm.Close()
End Sub
我错过了什么?
【问题讨论】: