五花肉.
2021-11-09 16:52
采纳率: 80%
浏览 26

c#如何循环一直执行这串代码

//定义一个Control类型的队列allCtrls
private static Queue allCtrls = new Queue();

    //递归遍历所有的子孙控件包括容器类
    private static void CheckAllCtrls(Control item)
    {
        for (int i = 0; i < item.Controls.Count; i++)
        {
            var ss = item.Controls[i];
            Type type = ss.GetType();
            if (item.Controls[i].HasChildren)
            {
                CheckAllCtrls(item.Controls[i]);
            }
            else//如果只要子控件,那么这个语句在else里
            {
                allCtrls.Enqueue(item.Controls[i]);
                if (item.Controls[i].GetType() == typeof(Button))
                {
                    string sqln = $"select valuing from DB_Data where stationname = '{item.Controls[i].Name}' and TEST1 = 'Code'";
                    DataTable dtn = SQLHelper.ExecuteDataTable(sqln);
                    if (dtn.Rows.Count > 0)
                    {
                        if(dtn.Rows[0]["valuing"].ToString() == "")
                        {
                            Button C = item.Controls[i] as Button;
                            C.BackColor = Color.White;
                        }
                        else
                        {
                            Button B = item.Controls[i] as Button;
                            B.BackColor = Color.Red;
                        }
                    }
                    else
                    {
                        Button B = item.Controls[i] as Button;
                        B.BackColor = Color.White;
                    }
                }
            }
        }
    }


  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • 於黾 2021-11-09 17:07
    最佳回答

    你从工具箱里拖个timer出来,双击生成个事件函数,然后在里面调用它。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题