有一个容器控件,一个 TScrollBox,它是多个项目控件的父级。
每个项目控件本身都是复合的,包含(父母和拥有)一个删除按钮。按下按钮启动项目控件的删除。
删除涉及释放组件,因此实际操作应该与项目无关。问题是,最好的方法是什么?
我实际上知道几个选项:
- 具有小间隔的计时器(通过单击按钮开始);
- 一个隐藏的外部按钮(鼠标向下和向上消息发布到该按钮);
- 表单的自定义消息处理程序。
虽然我可以自信地实施这些方法中的任何一种,但我自以为是,但我不确定哪种方法最好。此外,计时器选项看起来很幼稚,隐藏按钮有点骇人听闻,自定义消息有点矫枉过正。简而言之,这三个似乎都可以接受,或多或少。
我可能只是有偏见,不介意被说服相反。最重要的是,我想知道在这种情况下使用的常用方法是什么(也许我一直都想念一些东西)。