簡體   English   中英

達到限制無法為此表單vb6創建任何更多控件

[英]reached limit cannot create any more controls for this form vb6

我無法用我的mdi格式創建一個新菜單。已經有很多現有菜單了。

它的給定錯誤"reached limit cannot create any more controls for this form"

請幫助我知道如何添加此錯誤的新菜單。

您可以為菜單使用控件數組,以克服每個表單限制256個控件。 在菜單編輯器中,您必須將Index屬性設置為唯一的整數值,以創建具有相同Name的條目的控制數組。

一個常見的策略是用頂級菜單為控制數組指定mnuMain名稱,即首先mnuMain(1)為“File”,然后mnuMain(2)為“Edit”等。

然后在表單的代碼中聲明一個這樣的枚舉

Private Enum MenuIndexesEnum
    idxFile = 1
    idxEdit
    idxTool
    ....
End Enum

並在整個代碼中使用它,如mnuMain(idxFile)等。

對於“文件”子菜單,指定mnuFile控件數組,其唯一索引從1開始,用於“新建”,“打開”,“打印”等。“退出”並擴展MenuIndexesEnum枚舉,如下所示

Private Enum MenuIndexesEnum
    idxFile = 1
    idxEdit
    idxTool
    ....
    idxNew = 1
    idxOpen
    idxPrint
    idxExit = 99
    ...
End Enum

然后繼續使用mnuEdit進行“編輯”子菜單等。

正如@wqw所說,問題是你已經達到了256個控件每個格式的限制,解決方案是開始將它們包裝到控制數組中。 但是,您遇到問題的控件(菜單)不一定是您需要在控件數組中進行控制的控件。

我發現最陰險,最容易解決,控制“消費者”的是標簽控件,灑在典型表格的各處。 為了將它們變成一個控制陣列,我只是采用了在需要新標簽的同時復制和粘貼現有標簽的做法; 第一次,VB將詢問您是否要創建一個控件數組(說“是”),然后每次創建標簽的新副本時它都會自動為您增加索引。

對我來說,標簽控件是最方便的數組,因為通常沒有與它們相關的代碼,因此根本不需要擔心索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM