在表单中移动对象[重复]
Posted
技术标签:
【中文标题】在表单中移动对象[重复]【英文标题】:Moving through objects in form [duplicate] 【发布时间】:2017-12-28 17:00:32 【问题描述】:有没有办法在 Windows 窗体中移动对象? (例如:按钮)
我想根据输入禁用特定按钮。 例如:如果我有 100 个按钮,并且输入为 65,我想创建一个循环,遍历所有按钮,直到第 65 个按钮。 这可能吗?
谢谢!
【问题讨论】:
查找表单的Controls
属性。还有Name
或Tag
控件的属性来区分它们。
你可以创建一个级联函数,遍历 form1.controls 和寻找按钮的孩子。虽然效率不高
我希望您的表单中实际上没有 100 个按钮。那将是可怕的。如果您正在制作扫雷游戏,那么最好自己绘制所有内容。
嘿嘿嘿 太夸张了,不会有 100 个按钮,只是为了这个问题 :)
这些按钮是动态创建的吗?否则你不需要循环。
【参考方案1】:
将您的按钮保存在列表中。然后作为参数发送给这个函数
private void EnabledButtons(List<Button> listButton, int count)
foreach (Button btn in listButton)
btn.Enabled = false;
// or
for (int i = 0; i < count; i++)
listButton[i].Enabled = false;
【讨论】:
标准按钮内部没有控件。不需要内部循环。 已编辑 :) @Dialecticus以上是关于在表单中移动对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章
JavaFX - 建议在 setLayoutX(x) 上使用 relocate(x,y) 移动对象,但我无法修改重定位参数 [重复]