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...