重构代码!由于不能用到skin所以在基类里面写了个加载样式的方法。

 1 #region 初始化控件
 2     private void InitializeControls()
 3     {
 4         foreach (Control HtmlCon in this.Controls)
 5         {
 6             if (HtmlCon is HtmlForm)
 7             {
 8                 foreach (Control control in HtmlCon.Controls)
 9                 {
10                     //如果该控件包含有子控件,则调用递归方法初始化子控件
11                     if (control.HasControls())
12                     {
13                         InitializeChildControl(control.Controls);
14                     }
15                     else
16                     {
17                         InitializeControl(control);
18                     }
19                 }
20             }
21         }
22     }
23
24     /// <summary>
25     /// 有些控件可能包含有子控件,例如Panel,该方法通过递归初始化控件的子控件
26     /// </summary>
27     /// <param name="controls"></param>
28     private void InitializeChildControl(ControlCollection controls)
29     {
30         foreach (Control control in controls)
31         {
32             if (control.HasControls())
33             {
34                 InitializeChildControl(control.Controls);
35             }
36             else
37             {
38                 InitializeControl(control);
39             }
40         }
41     }
42
43     /// <summary>
44     /// 初始化某一个控件
45     /// </summary>
46     /// <param name="control"></param>
47     private void InitializeControl(Control control)
48     {
49         Type t = control.GetType();
50         switch (t.Name)
51         {
52             case "TextBox":
53                 TextBox textBox = control as TextBox;
54                 if (textBox != null)
55                 {
56                     textBox.CssClass = "bor_gray";
57                     textBox.Attributes.Add("onmouseout", "this.className='bor_gray'");//当文本框获得焦点时,改变文本框背景色
58                     textBox.Attributes.Add("onmouseover", "this.className='bor_gray_a'");//当文本框失去焦点时,回复文本框背景色
59                 }
60                 break;
61             case "HtmlInputText":
62                 HtmlInputText Intext = control as HtmlInputText;
63                 if (Intext != null)
64                 {
65                     Intext.Attributes.Add("class", "bor_gray");
66                     Intext.Attributes.Add("onmouseout", "bor_gray");
67                     Intext.Attributes.Add("onmouseover", "bor_gray_a");
68                 }
69                 break;
70         }
71     }
72     #endregion           

转载于:https://www.cnblogs.com/wxwu/archive/2012/06/22/2558551.html

页面上指定类型的控件的样式添加相关推荐

  1. 页面JS获取不到控件ID

    为了使页面更加的友好,我们不可避免的要在页面上使用JS,所以在页面上使用javascript获取控件ID是很常见的事情.但是最近在使用JS的使用,遇到了一件让我很头疼的事情,在获取控件ID时,抱错了, ...

  2. C#获取指定controlName的控件;遍历控件,反射控件类型等

    一般情况下或许用不到,但是也有特殊情况下会需要使用类似的功能. 1.比如你的软件做了多个界面版本,有中文版,英文版等等,就需要控制界面显示.通常会把控件名称与显示文字以键值对的形式存储到外部数据库或者 ...

  3. WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。

    WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 原文: WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https ...

  4. asp.net panel 加html,ASP.NET 页面中动态增加的控件、添加事件

    要求:页面上有一个Add按钮,每点击一次该按钮,页面上动态创建一个WebPartZone! 提醒:WebPartZone只能在OnInit或之前才能创建,否则报异常! 大家都知道,按钮的点击事件是在R ...

  5. asp.net 上传大文件控件

    这段时间写了个asp.net 上传大文件控件.经过测试,在ie中可显示进度条.特此共享,望广大网友多提意见. 大文件上传控件(包含进度条) 使用说明如下: <summary>      上 ...

  6. 上滑ScrollView,实现控件顶部悬浮

    上滑ScrollView,实现控件顶部悬浮 因为看到网上的比较复杂,所以自己写了这篇,希望能够足够简单. 先看效果图,是不是你需要的: 不论怎么滑动屏幕内容,当蓝色部分到达顶部时,便会一直会显示在顶部 ...

  7. 【C#】wpf自定义calendar日期选择控件的样式

    原文:[C#]wpf自定义calendar日期选择控件的样式 首先上图看下样式 原理 总览 ItemsControl内容的生成 实现 界面的实现 后台ViewModel的实现 首先上图,看下样式 原理 ...

  8. Revit中门窗的翻转控件该如何添加?

    一.门窗的翻转控件该如何添加? 放置过门窗的小伙伴会发现,门窗是可以进行左右前后进行翻转的,可以通过这些小按钮或是空格键进行门窗的朝向,十分的人性化,可以帮我们更好的放置门窗.一般上我们创建门窗族时系 ...

  9. pyqt5 qfont 字体_PyQt5 控件字体样式等设置的实现

    一.API接口设置 比如我这段代码中的一些设置,设置文字.居中.禁止复制.LineEdit输入为password等等 import sys from PyQt5.QtCore import Qt fr ...

最新文章

  1. idea添加database插件_IDEA高级玩法:集成JIRA、UML类图插件、SSH、FTP、Database管理......
  2. python实现一个抽象数据结构:栈
  3. .net mvc web api 返回 json 内容时过滤值为null的属性
  4. ASP.NET应用程序与页面生命周期
  5. 从平台到中台:Elaticsearch 在蚂蚁金服的实践经验
  6. A题 Go! Fun游长三角 2021年第一届长三角高校数学建模竞赛
  7. 深入理解BN、合并conv+BN公式推导
  8. IOS 本地推送 IOS10.0以上 static的作用 const的作用
  9. Django出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xda in position 134: invalid
  10. datagridview滚动条自动滚动_微软新贡献:进一步优化Chromium的滚动特性
  11. svn add Default@2x.png的文件含有@的文件名注意事项
  12. jQuery - (JQuery datatables api 使用解读)
  13. python好学么数学_Python难学吗,本人数学和英语都很差,想学,都是兴趣爱好
  14. 奇点汽车黄浴:SLAM的动态地图和语义问题
  15. terminal登录mysql_转载-MySQL之终端(Terminal)管理MySQL
  16. 笨办法学 Python · 续 练习 31:正则表达式
  17. 【Vue】—Vue的模板语法
  18. 互联网域名解析系统DNS的工作原理及相关服务配置
  19. tortoise git 冲突解决
  20. 数据挖掘导论实验报告01

热门文章

  1. 程序员必备 Git 分支开发规范指南
  2. 【开发工具】盘点IDEA那些超级实用插件
  3. 这几款前端必备构建工具合辑,我们帮你整理好了!
  4. C#比较dynamic和Dictionary性能
  5. python框架django的使用_Django框架的基本使用,若依框架
  6. java 解密后为空_java RSA加密解密
  7. 计算机专业答辩模板,论文答辩模板-计算机专业.ppt
  8. linux第一章简答
  9. 脑裂问题解决方案_从解决方案到问题
  10. 用VC和MinGW导出dll的def和lib(a)文件