1. 程式人生 > >C#TableLayoutPanel控制元件導致Form開啟時處於已編輯狀態的問題分析

C#TableLayoutPanel控制元件導致Form開啟時處於已編輯狀態的問題分析

用了TableLayoutPanel控制元件, 好處是可以動態地調整內部的控制元件位置, 但有時會導致所在Form每次開啟時, 都會處於已編輯狀態, 如下圖。

如果只是想檢視Form, 每次開啟後的, 看到代表編輯狀態的“*”, 很不舒服。

 

測試了多種狀況, 大致找到了原因:

如果在TableLayoutPanel控制元件中加入了TextBox, 那麼該TextBox會在所在單元上下分別留3畫素的空間, 如果TableLayoutPanel控制元件的單元高度<3+TextBox高度+3, 那麼TableLayoutPanel控制元件會在Form開啟時重新計算TextBox的位置, 導致Form檔案“被編輯”。