如何从Form2设置Form1.ControlBox=TRUE,解决424运行时对象需要错误
424运行时错误解决方案
- 首先修正属性名拼写错误:你当前写的代码
Form1.ControlBox1 = True里的属性名多了末尾的数字1,WinForm/VB6原生窗体的控制盒属性正确名称为ControlBox,拼写错误会导致程序找不到对应对象,直接触发"Object required"报错,将代码修改为Form1.ControlBox = True后先做测试。 - 如果修正拼写后仍然报错,说明你访问的是Form1的类名而非运行时已加载的实例对象,根据你的开发环境选择对应方案:
- VB6环境:直接使用已加载窗体的集合访问,代码改为
Forms!Form1.ControlBox = True即可。 - .NET WinForm环境:需要将Form1的运行时实例传递到Form2中,步骤如下:
- 在Form2代码中新增公共属性用于接收实例:
Public OwnerForm As Form1- 在Form1中打开Form2的代码位置,传入自身实例:
Dim form2 As New Form2() form2.OwnerForm = Me form2.Show()- 在Form2中修改属性的代码改为:
OwnerForm.ControlBox = True
- VB6环境:直接使用已加载窗体的集合访问,代码改为
注意:你将Form1_Load声明为Public的操作和本次报错没有关联,无需调整该过程的访问修饰符。
内容的提问来源于stack exchange,提问作者3463495
相关产品推荐
相关产品推荐

