【问题标题】:An error exception appears (Exception has been thrown by the target of an invocation.)出现错误异常(调用目标已抛出异常。)
【发布时间】:2015-05-21 17:11:45
【问题描述】:

我解决了这个问题,它在表单的基础类中,我检查了错误详细信息并找到了原因。非常感谢大家。


我试图在运行时创建一个表单,我正在从我的数据库中加载表单名称,并且当用户将其作为字符串保存在菜单项标记中时。当用户单击菜单项时,它会调用 LoadForm 函数来创建表单。但不幸的是,我收到了以下错误:

调用目标抛出异常。

函数的以下行出现错误:

Return DirectCast(Activator.CreateInstance(FormType), frmBasedChiled)

我写了下面的函数,我用的是VB.NET 2010,你能帮帮我吗?

** frmBasedChiled 表单是我创建的一个特殊表单类,我从它继承了我所有的项目表单。

    Private Function LoadForm(ByVal FormName As String) As frmBasedChiled

    Dim FormType = Assembly.GetExecutingAssembly.GetTypes.Where(Function(a) _
        a.BaseType() = GetType(frmBasedChiled) AndAlso a.Name = FormName.ToString).FirstOrDefault

    If FormType Is Nothing Then
        Return Nothing
    End If

    Return DirectCast(Activator.CreateInstance(FormType), frmBasedChiled)
End Function

【问题讨论】:

  • 应该有内部异常。可以用调试器检查吗?
  • @ChaosPandion 我用的是debug,这是debug错误
  • 用 C# 标记的任何原因?
  • 始终包含完整的错误详细信息。如果 Inner Exception 为 Null,我们想知道这一点。
  • 我写了错误信息,我检查了FormType对象,它不为空

标签: .net vb.net winforms


【解决方案1】:

TargetInvocationException 表明您正在尝试对错误类型进行强制转换操作。

【讨论】:

    【解决方案2】:

    我解决了这个问题,它在表单的基础类中,我检查了错误详细信息并找到了原因。原因是在构造函数中,我有一个 imagelist 控件,我将表单图标设置为 imagelist 中的一个图标。我删除了分配图标的行,它现在可以正常工作。非常感谢大家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多