如何找回被移出屏幕边界的TActionList对象?
解决TActionList跑到屏幕外无法找回的办法
嘿,这个坑我之前踩过!TActionList虽然属于非可视化控件,但设计阶段它的位置信息其实存在于窗体的DFM文件里,只是Object Inspector没把位置属性显示出来而已。给你几个亲测有效的解决办法:
直接修改DFM文件
- 先关闭当前项目,找到对应窗体的
*.dfm文件(和窗体的pas文件在同一个目录下) - 用记事本或者Delphi自带的代码编辑器打开它
- 搜索你的ActionList名称,比如
object ActionList1: TActionList - 在这个对象的属性里找到
Left和Top这两行,把它们改成屏幕范围内的数值,比如Left = 80、Top = 80 - 保存DFM文件,重新打开项目,你的ActionList就会乖乖回到视图里了
- 先关闭当前项目,找到对应窗体的
用快捷键批量移动控件
- 在窗体设计界面,按下
Ctrl+A选中所有控件(包括那个跑出去的ActionList) - 接着用键盘的方向键(←↑→↓)慢慢移动选中的控件组,直到ActionList出现在可视区域内
- 这个方法不用改文件,适合不想折腾DFM的情况
- 在窗体设计界面,按下
通过结构面板重置位置
- 打开Delphi的「View」菜单,选择「Structure」(或者直接按快捷键
Alt+F11) - 在结构面板里找到你的TActionList对象
- 右键点击它,在弹出的菜单里找类似「Position」→「Center in Form」的选项(不同Delphi版本的表述可能稍有不同,核心是把控件居中到窗体)
- 点击后,ActionList就会自动回到窗体的可视区域
- 打开Delphi的「View」菜单,选择「Structure」(或者直接按快捷键
内容的提问来源于stack exchange,提问作者John Barrat
相关产品推荐
相关产品推荐

