在表单中移动对象[重复]

Posted

技术标签:

【中文标题】在表单中移动对象[重复]【英文标题】:Moving through objects in form [duplicate] 【发布时间】:2017-12-28 17:00:32 【问题描述】:

有没有办法在 Windows 窗体中移动对象? (例如:按钮)

我想根据输入禁用特定按钮。 例如:如果我有 100 个按钮,并且输入为 65,我想创建一个循环,遍历所有按钮,直到第 65 个按钮。 这可能吗?

谢谢!

【问题讨论】:

查找表单的Controls 属性。还有NameTag控件的属性来区分它们。 你可以创建一个级联函数,遍历 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

以上是关于在表单中移动对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在移动时知道元素位置[重复]

QPainter如何传输? (从工厂函数中移动一个对象)

根据移动/桌面显示文本链接[重复]

基于HTML表单输入在sql中移动记录

在 Oracle 表单中的选项卡之间移动项目

JavaFX - 建议在 setLayoutX(x) 上使用 relocate(x,y) 移动对象,但我无法修改重定位参数 [重复]