C# 按名字引用动态控件,模拟动态语言
2011-12-03 10:42
330 查看
动态语言,或者叫第4代语言,它的特征是变量可以在运行时生成。比如 Ruby,Python。
不过动态语言一般都是脚本语言哦(解释运行),它的运行效率相对是要低一些的。
作为一种编译型的语言,C#显然不是这样一种语言。但是基本上它也可以模拟这一点,从而获得动态语言的好处。
1,(控件)变量的动态创建。
这个相当容易,甚至连VC也可以做到(控件的动态创建)
C#代码,如
2,动态控件的引用
首先,我们编写一个工具函数
比如我现在想找到第9个动态生成的文本框变量,那么使用如下代码即可
不过动态语言一般都是脚本语言哦(解释运行),它的运行效率相对是要低一些的。
作为一种编译型的语言,C#显然不是这样一种语言。但是基本上它也可以模拟这一点,从而获得动态语言的好处。
1,(控件)变量的动态创建。
这个相当容易,甚至连VC也可以做到(控件的动态创建)
C#代码,如
for(int i=0;i<100;i++) { TextBox tb = new TextBox(); tb.Text = "text"+i; tb.Top = 120; tb.Left = 100+i*10; this.Controls.Add(tb); tb.Name = "tb_"+i; }
2,动态控件的引用
首先,我们编写一个工具函数
public class ToolClass { public static Control GetControlByName(Control ctrl,string sCtrlName) { if (ctrl.Name == sCtrlName) return ctrl; else foreach (Control subCtrl in ctrl.Controls) { Control sub = GetControlByName(subCtrl, sCtrlName); if (sub != null) return sub; } return null; } }
比如我现在想找到第9个动态生成的文本框变量,那么使用如下代码即可
TextBox textbox= (TextBox)ToolClass.GetControlByName(this,"tb_" + 9);
相关文章推荐
- [C#]模拟实现Visual Stduio工具栏动态效果--扩展控件DocKPanel
- 微软C#语言DotNetBar控件的安装和引用问题
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- 如何用Python,C#等语言去实现抓取静态网页+抓取动态网页+模拟登陆网站
- [C#]模拟实现Visual Stduio工具栏动态效果--扩展控件DocKPanel
- 引用 如何学习c#(如何学习程序语言)
- c#语言asp.net实现treeview控件读数据库动态生成树的代码
- C#中 动态切换当前界面的语言
- [C#][SAMPLE]动态加载控件[PlaceHolder控件]
- 把 C# 语言开发的控件内嵌在网页里面
- C#对动态语言的支持
- c#语言asp.net实现treeview控件读数据库动态生成树的代码
- C# 动态加载控件
- C#实现动态添加用户控件
- c# TableLayoutPanel控件应用 动态添加控件及事件
- [C#][SAMPLE]动态加载控件[PlaceHolder控件]
- 为什么 Java 只有值传递,但 C# 既有值传递,又有引用传递,这种语言设计有哪些好处?
- [C#]使用Label标签控件模拟窗体标题的移动及窗体颜色不断变换
- 转发 C#从数据库动态邦定TreeView控件