我想知道为什么Delphi(2007)提供了三个似乎做相同事情的小部件,以及每个小部件的优点/缺点是什么。
在同一主题上,如果我想显示不同的控件集,为什么要支持例如。 PageControl + TabSheets + Frames,而不是直接在父表单上直接显示不同的框架?
谢谢。
最佳答案
从TTabSet的帮助文件中:
标签集控件通常用于
在对话框中显示选项卡式页面
框。提供TTabSet用于向后
兼容性。使用TTabControl
32位Windows中的组件
应用程序。
所以真正的问题是,TTabControl和TPageControl有什么区别?区别在于TTabControl仅具有一个“页面”,而TPageControl的每个选项卡只有一页。这使它们在不同情况下很有用。
对于要在屏幕上容纳更多UI而不是在其中容纳屏幕空间的对话框,TPageControl很有用。将UI组织成类别,并将每个类别放在一个页面上。例如,您可以在“选项”对话框中看到很多这种模式。
另一方面,TTabControl非常适合处理对象数组/列表。创建一个UI以显示和编辑单个对象的属性,并将其放在TTabControl上,然后为每个对象创建一个选项卡并设置事件处理程序,以便在您每次将数组中的新对象加载到控件中时更改标签。
对于框架问题,将TPageControl与框架结合使用的主要原因是因为它提供了一种预先确定的方式来决定要显示哪个框架。这样,您就不必重新发明一种机制。