[英]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.