以前在做项目的时候,窗体中使用几个不同的Panel分割成不同部分,然后用Splitter实现动态调整大小,但发现一切并不是象想象中的那么容易,经常发现Panel与Splitter没有起到应当有的作用,屏幕乱作一团(Delphi中从来没有出现过这类问题)。
从网上查了不少的资料,关于这方面的太少了。最后从http://www.dotnet247.com/247reference/msgs/16/84807.aspx看到了有人提问,但没好的解答。经过自己研究后,发现Dock能够正常工作居然与对象的创建顺序有关,可这些对象的创建顺序是由.net自动生成的(与控件放入的顺序有关),一旦顺序错误,屏幕就乱了。发现问题所在后,我在网上给出了我的解决办法。现在把它搬过来,供大家参考:
出现问题的代码:

























































经过调整对象生成顺序后的代码:





















































大家可以自己试试。
注:.net 2005好像解决了这个问题(提供了一个新控件),但我还没有来得及尝试。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步