标题:【求助】遍历控件问题
只看楼主
hcx888
Rank: 1
等 级:新手上路
帖 子:68
专家分:0
注 册:2013-4-17
结帖率:70%
已结贴  问题点数:12 回复次数:1 
【求助】遍历控件问题

正如上面的图所示。button1 所处的是一个 pictureBox 控件 但是要遍历 button1 附近的 三个红色方框的地方是否 没有 按钮控件 如果没有按钮控件就把 button1.Location 移到 对应pictureBox 控件的中心点上 代码怎么写?(button1只能十字型遍历,椭圆红色框的最好避开)
搜索更多相关主题的帖子: 中心 最好 
2013-07-17 23:42
afdoa83
Rank: 4
等 级:业余侠客
威 望:7
帖 子:43
专家分:262
注 册:2012-7-31
得分:12 
估计会用到foreach做嵌套循环或递归,在或者能用表链或二叉树等结构?
暂时没想出来
不过用笨方法可以实现
给每个pictureBox都编个号
还要给每个按钮也编上号
当pictureBox里有按钮里 编号=按钮的编号
按钮还要有另一个编号,记录所在行
int h,no = 10;  //h=所在行,no=按钮编号
比如
建两个数组 int[] a = new a[7];  //第一行pictureBox
           int[] b = new b[7];  //第二行pictureBox
用于索引行号
a[0] = 1; b[0] = 2;
button1在第二行索引4处
b[4] = 1; h = 2;
现在要移动button1,检查图中所标的pictureBox的编号
if (h == 1)
{
  for (int i = 1; i < a.Length; i++)
  {
    if (a[i] == no)
    {
      //向左判断;移动
      if (a[i-1] == 0)
      { //如果等于0说明左面没东西,移动,改a[i-1] = no; a[i] = 0  break; }
      //向右判断;移动
      if (a[i+1] == 0)
      { //同上 }
      //向下判断;移动
      if (b[i] == 0)
      {  //同上}
    }
  }
}
if (h == 2)
//方法同上
比较麻烦,如果初始化时不知道控件的具体情况就不能这样做了...

[ 本帖最后由 afdoa83 于 2013-7-18 13:23 编辑 ]
2013-07-18 13:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-417521-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.239302 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved