回 帖 发 新 帖 刷新版面

主题:急,急,急,一个关于MDI的问题?

我创建了一个MDI父窗口在里面用程序添加子窗口时出现异常:
"未处理的“System.OutOfMemoryException”类型的异常出现在    system.windows.forms.dll 中。

其他信息: 创建窗口句柄时出错。"



代码如下

    Private newfftcount As Integer

     Private Sub Menunew_Click(ByVal sender As Object, ByVal e As     system.EventArgs) Handles Menunew.Click   '这是父窗口上的一个新建菜单...
        Dim newfft As New childfft
        newfftcount += 1
        newfft.Text = "文档" + Str(newfftcount)
        newfft.MdiParent = Me
        newfft.Show()
    End Sub

(没必要的就省了)

在线等待...............................

回复列表 (共5个回复)

沙发



     在线等待......

板凳

建立mdi子窗体的语句并没有错

OutOfMemoryException的解释为
当没有足够的内存供内部使用或分配给新托管对象时,公共语言运行库可能会引发异常。为了避免异常,请不要编写使用 64KB 或更多内存的大型方法。

估计你的子窗体构造的时候出了问题,试着休整一些过于庞大复杂的构造方法。

3 楼

”使用 64KB 或更多内存的大型方法。“
   怎么可能呢?,64KB是多大空间,我只写了这么一点,
   何况改成
     Dim newfft As New childfft
        newfft.MdiParent = Me
        newfft.Show()
以后还是不行。

忘记说了,我最先的时候用原来的方法没有出现任何异常,不知道这回是怎么了

还请不另赐教..........

4 楼

Dim newfft As New childfft
是不是错在这句上了阿???
如果是的话就要检查这个子窗体的构造函数,而不是联系父子关系的那几句
     Dim newfft As New childfft
        newfft.MdiParent = Me
        newfft.Show()
这几句话语法没有错误,并且和你实现的功能也一样

5 楼

谢谢上面那位了....

我来回复

您尚未登录,请登录后再回复。点此登录或注册