一、C#遍历窗体控件

  主要遍历属于窗体(Form)的控件(Controls),假如窗体中有 Panel、Button 和 TextBox 控件,遍历代码如下:

/// <summary>
  /// Winform C#遍历窗体控件
  /// </summary>
  /// <param name="ctrlName">控件名称</param>
  public void ForeachFormControls(string ctrlName)
  {
    foreach (Control ctrl in this.Controls)
    {
      if (ctrl is Panel)
      {
        //相关操作代码
        ctrl.BackColor = Color.Aquamarine;
      }       else if (ctrl is Button)
      {
        ctrl.ForeColor = Color.RoyalBlue;
      }
      else if (ctrl is TextBox)
      {
        ctrl.Text = null;
      }
      //根据控件名称找某个控件
      if(ctrl.Name.Equals(ctrlName))
      {
        vctrl.Name = string.Empty;
      }
    }
  }

上面的代码,只是根据控件的类型和传递的控件名称进行了一些随意操作,可以根据具体需求把它改为所需操作。

  二、C# Winform遍历控件之遍历 Panel 中的子控件

  遍历方法跟遍历窗体中的控件相同,只不过 this 要改为 Panel 的名称,假如 Panel控件中只包含 Button 和 TextBox 子控件,代码如下:

/// <summary>
  /// C#遍历子控件
  /// </summary>
  /// <param name="ctrlName">控件名称</param>
  public void ForeachPanelControls(string ctrlName)
  {
    foreach (Control ctrl in panel1.Controls)
    {
      if (ctrl is Button)
      {
        if (ctrl.Name.Equals(ctrlName))
          ctrl.ForeColor = Color.RoyalBlue;
        else
          ctrl.ForeColor = Color.SkyBlue;
      }
      else if (ctrl is TextBox)
      {
        if (ctrl.Name.Equals(ctrlName))
          ctrl.Name = "当前值";
        else
          ctrl.Text = null;
      }
    }
  }

C#遍历窗体控件(原文出自http://www.liangshunet.com/ca/201403/286434593.htm)的更多相关文章

  1. C# 遍历窗体控件顺序问题

    今天在做C# winform 窗体控件遍历时遇到控件顺序的问题,也就是控件被遍历的先后问题.实际情况如下所述. 窗体界面如下: 界面构成是:主界面有一个 Panel (Panel_14),Panel_ ...

  2. VC遍历窗体控件的实现

    最近在写控制台,在设计界面按钮风格时不想通过每个按钮的ID来获取其句柄,而是通过遍历窗体所有控件,然后判断其控件类型进而来实现. 代码如下: // 遍历得到页面中的所有Button控件,依次设定其样式 ...

  3. c# 遍历子控件,比如Form下的group,或者panel

    方法很好用.目的是遍历所有容器的子控件... 方法1private void GetControl(Control.ControlCollection ctc, ref int checkNull) ...

  4. ASP.NET中 WebForm 窗体控件使用及总结【转】

    原文链接:http://www.cnblogs.com/ylbtech/archive/2013/03/06/2944675.html ASP.NET中 WebForm 窗体控件使用及总结. 1.A, ...

  5. winform继承窗体,无法修改父窗体控件问题处理笔记

    问题描述: 一个窗体集成父窗体,发现无法直接修改父窗体的控件,比如修改大小等,父窗体控件已经设置为public,如果做成一个dll被引用无此问题 特征: 不禁使父窗体控件,就算新加一个控件也会这样:鼠 ...

  6. c#中如何跨线程调用windows窗体控件

    c#中如何跨线程调用windows窗体控件?   我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首 ...

  7. C# winform 跨线程更改窗体控件的属性

    当winform程序中新开一个线程,是无法改变主线程中窗体控件的属性的,否则运行时会报错. 若想在其他线程中控制主线程中的窗体控件,则必须利用BeginInvoke方法. 例如:添加一个名为textb ...

  8. winform窗体控件(全)

    回顾跟补充下除了昨天那常用6个其他的winform窗体控件作用 1:Button:按钮 (1)AutoSize:如果是True的情况下,内容将会撑开:False的话会另起一行 (2)Enabled: ...

  9. (转)sl简单自定义win窗体控件

    sl简单自定义win窗体控件      相信大家接触过不少win窗体控件ChildWin子窗口就的sl自带的一个  而且网上也有很多类似的控件,而今天我和大家分享下自己制作个win窗体控件,希望对初学 ...

随机推荐

  1. UVAlive 3263 That Nice Euler Circuit(欧拉定理)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=21363 [思路] 欧拉定理:V+F-E=2.则F=E-V+2. 其 ...

  2. Nova 无法向虚机注入密钥

    欢迎各位关注我的博客:http://weibo.com/u/216633637 废话开头: 之前参考这位同学的博客http://www.cnblogs.com/awy-blog/p/3447176.h ...

  3. 查询grep结果的前后n行

    linux系统中,利用grep打印匹配的上下几行   如果在只是想匹配模式的上下几行,grep可以实现.   $grep -5 'parttern' inputfile //打印匹配行的前后5行   ...

  4. 常用iptables规则整理

    1.仅允许内部合法的IP地址访问服务器 #setting access rules #one,in access rules,allow all the ips of hudong.com iptab ...

  5. 使用FileSystemWatcher监视文件变化

    本文转载:http://www.cnblogs.com/zanxiaofeng/archive/2011/01/08/1930583.html FileSystemWatcher基础 属性: Path ...

  6. Android源代码之DeskClock (一)

    一.概述 一直有read the fucking source code的计划,可是实行起来都是断断续续的.到如今也没有真正得读过多少Android的源代码(主要是懒的).如今回忆起来实在是非常羞愧, ...

  7. 什么是SEO?SEO干嘛的?怎么做SEO?

    黑帽seo分享了这么多SEO的东西,今天在群时面遇到群亲问到了什么是SEO?SEO是干嘛的?蜗牛认为,是时候让大家知道这些不为外人所知的真相了.且听蜗牛慢慢道来吧. 一.什么是SEO?SEO是干嘛的? ...

  8. 自定义 textField 的清除 button

    UIButton *clearButton = [self.textField valueForKey:@"_clearButton"]; [clearButton setImag ...

  9. Thread Runnable 多线程

    1. 实现多线程的两种方法         a) 让这个类继承java.lang.Thread,然后重写run方法         b) 让这个类实现 java.lang.Runnable接口,实现r ...

  10. empty函数PHP

    empty译为: adj.空的,空虚的,空洞的;空闲的,无效的,徒劳的;无聊的,愚蠢的;言语或行动空洞的 vt.(使)成为空的, 把…弄空;把…腾出来 vi.成为空的;流空 n.空车;空的东西 是PH ...