【发布时间】:2019-07-24 13:44:08
【问题描述】:
我相信这只是一个语法问题,应该不难,我只是对 VB.net 不太熟悉。我正在使用 FormA 来控制 FormB。当我从 FormA 执行命令时,我想在 FormB 上创建 1+x 个不同的控件(webbrowser)。为此,我调用了一个位于 FormB 中的 subProcedure 并从那里动态创建我的控件。问题是,没有创建或显示控件。
我知道 sub 被调用,因为我可以单步执行它,但我怀疑它试图在 FormA 中显示控件。如果我将 sub 移动到 FormA,控件将按预期在 FormA 上显示。因此,为什么我认为这是一个语法问题。那么,从代码示例来看,我将如何确保将控件添加到 FormB 中?
public sub displayonformb(byval sheetcount as integer)
for i as integer = 1 to sheetcount
dim wb as new webbrowser
with wb
.name = "myname"
.navigation(new uri("blah blah blah")
.location = new point(((i-1)*(screenwidth / sheetcount)), hgt)
.size = new size(wdth, hgt)
me.controls.add(wb)
end with
next
所以,我在这里的假设是使用 .location 或(更有可能)me.controls.add(wb) 语句。我试着改变“我”。到“FormB”。但工作室抱怨我应该使用“我”。而是。
【问题讨论】:
-
您是在调用
displayonformb并引用打开的FormB还是创建一个新的?new FormB().displayonformb(1)你能告诉我们你是怎么打电话给displayonformb的吗? -
dim wb as new webbrowser。这不是真正的代码。贴出你正在使用的代码,不要在这里写一部分。上一条评论中提出的问题很重要。也发一下。实际代码。 -
显示你如何调用方法。
-
回答我的帖子的问题:我这样称呼该方法: Dim frm As New FormB frm.DisplayOnMainFormB(sheetCount).... 此后,我采用了以下珍贵的解决方案,将 FormB 作为方法的论据。我的“dim wb as new webbrowser”有什么问题?那是真正的代码。我可能没有复制和粘贴,但它是真实的代码。它有效。
-
@gCanuck 我猜 Jimi 想说的是,在 VS 中,代码不会那样显示。实际显示为
Dim wb As New WebBrowser。
标签: vb.net