2

我正在尝试将表单对象存储到变量中,但没有成功:

此代码不起作用:

Dim invoice_form As billing_new_invoice

    'Get last remote Row
    Dim last_row As Integer = CType(main.ActiveMdiChild, invoice_form).invoiceitems_new_invoice.Rows.Count - 1

    Dim count_row As Integer = CType(main.ActiveMdiChild, invoice_form).invoiceitems_new_invoice.Rows.Count()

此代码有效:

Dim invoice_form As billing_new_invoice

    'Get last remote Row
    Dim last_row As Integer = CType(main.ActiveMdiChild, billing_new_invoice).invoiceitems_new_invoice.Rows.Count - 1

    Dim count_row As Integer = CType(main.ActiveMdiChild, billing_new_invoice).invoiceitems_new_invoice.Rows.Count()

错误

我需要将表单实例存储在变量(invoice_form)中,该变量可以在多行代码中使用,但它说(未定义类型'invoice_form'。)有人有想法解决这个问题吗?

4

2 回答 2

2

不是很清楚是什么问题。我想你正在寻找这样的东西:

If TypeOf Me.ActiveMdiChild Is billing_new_invoice Then
  Dim invoice_Form As billing_new_invoice = Me.ActiveMdiChild

  Dim last_row As Integer = invoice_form.invoiceitems_new_invoice.Rows.Count - 1
  Dim count_row As Integer = invoice_form.invoiceitems_new_invoice.Rows.Count()

  //'etc

End If

代码不起作用的问题是它试图将其转换为变量,而不是类型。 invoice_form是变量,billing_new_invoice是类型。

于 2012-04-24T17:48:58.470 回答
2

CType 用于类型转换,而不是变量赋值。您要做的是首先将变量分配给表单,然后使用该变量:

Dim invoice_form As billing_new_invoice = CType(main.ActiveMdiChild, billing_new_invoice)
Dim last_row As Integer = invoice_form.invoiceitems_new_invoice.Rows.Count - 1
于 2012-04-24T17:49:04.427 回答