我正在尝试将菜单项强制转换为富文本框,并且它会抛出一个空引用异常。
代码是
' ensure above it true and find parent
Dim mnuItem As MenuItem = TryCast(sender, MenuItem)
If mnuItem IsNot Nothing Then
Dim menu As Menu = TryCast(mnuItem.Parent, Menu)
If menu IsNot Nothing Then
Dim rtb As RichTextBox = TryCast(menu.Container, RichTextBox)
If rtb IsNot Nothing Then
rtb.Copy()
End If
End If
End If
代码在行rtb.Copy()处抛出异常。任何人都可以指导我如何解决这个问题的正确方向吗?
编辑:当我单步执行代码时,它显示rbt为“Nothing”。
答案 0 :(得分:1)
menu.container
中的 Dim rtb As RichTextBox = TryCast(menu.Container, RichTextBox)
可能不是RichTextBox。使用调试器,在该行停止,突出显示“menu.container”,然后按Shift-F9查看它到底是什么。
答案 1 :(得分:0)
它表示“IsNothing”,你的意思是测试什么都没有。
If rtb Is Nothing Then
rtb.Copy()
End If
应该是:
If rtb IsNot Nothing Then
rtb.Copy()
End If