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

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

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

谢谢!

【问题讨论】:

  • 查找表单的Controls 属性。还有NameTag控件的属性来区分它们。
  • 你可以创建一个级联函数,遍历 form1.controls 和寻找按钮的孩子。虽然效率不高
  • 我希望您的表单中实际上没有 100 个按钮。那将是可怕的。如果您正在制作扫雷游戏,那么最好自己绘制所有内容。
  • 嘿嘿嘿 太夸张了,不会有 100 个按钮,只是为了这个问题 :)
  • 这些按钮是动态创建的吗?否则你不需要循环。

标签: c# winforms


【解决方案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
猜你喜欢
  • 2021-11-16
  • 2012-08-31
  • 2022-08-18
  • 1970-01-01
  • 2021-10-05
  • 2016-07-27
  • 1970-01-01
  • 2021-08-05
  • 2022-11-03
相关资源
最近更新 更多