Panel最大巢狀數

2021-07-06 09:41:48 字數 1606 閱讀 6793

panel中可以不斷的套panel,但是panel的巢狀會有乙個上限,當達到這個上限後,介面就不聽使喚了。但這時程式並不會崩潰,panel的巢狀數繼續增加,會達到乙個崩潰的上限值。

測試**如下

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace panelnest

else

last = panel;

}last.backcolor = color.blue;}}

}

從**中可以看到,每乙個panel都是fill的,實際上卻沒有如我們所期望的。為了能更好的分辨,我們將最後乙個panel的背景色設定為blue。看一下效果圖。

最大化後的圖

當我們把panel的上限數設定為30,新**如下

panel last = null;

for (int i = 0; i <30; i++)

else

last = panel;

}last.backcolor = color.blue;

最大化後的圖如下

會發現,最大化後,藍色底的panel並沒有最大化,但我們預期是要最大化的。這就說明panel的巢狀是有乙個上限值的。經過測試發現,不同的系統會有所差異,在win7上有的為15,有的為29,win10上為29。

當我們繼續增加panel的巢狀數量,程度將會崩潰。**如下。

panel last = null;

for (int i = 0; i <50; i++)

else

last = panel;

}last.backcolor = color.blue;

異常圖如下

當panel的數量達到50個時,程式出錯了。提示建立視窗控制代碼時出錯。

所以在使用panel進行巢狀的時候,務必要注意巢狀的層數,尤其是當使用封裝的自定義使用者控制項時,由於自定義使用者控制項裡面已經使用panel等容器進行封裝,外面呼叫時再放到若干層的容器中,最終就有可能報錯。

vue 陣列中巢狀陣列 vue陣列巢狀陣列的問題

如圖,餅乾 健康零食 早點下午茶 中式糕點 西式糕點是外層的陣列,用v for來完成,但是陣列裡面還有乙個陣列,這個還是用v for嗎?應該怎麼做?我就是在v for裡面又用了乙個v for,如下 模板class productclassificationlist v for list in pro...

C 對json物件巢狀陣列

看圖 這裡可以看到是二層巢狀!使用c 如何實現?思路 使用list集合實現 建立類 list集合 微軟的 newtonsoft.json 一款.net中開源的json序列化和反序列化 sonxmtext類 using system using system.collections.generic u...

mongodb 中巢狀陣列的且查詢

如果在mongodb中存在如下資料 audit audit 如果是 需要查詢陣列需要查詢experts中的expert 1 並且 result success,按照查詢引數查詢的結果應該只有第乙個才符合條件。如果你是這麼寫的,那麼會將兩條資料都會查出來。這就需要用到mongodb查詢符號 elemm...