你先说得明白点?你是说有一个字符串比如Textbox,你要将它转换为一个控件吗?这样的话很难
解决方案 »
- c#动态调用java写的webservice,这个要源码
- 如何得到占用某个文件的进程信息?
- 怎样可以监控系统拷贝文件的事件,禁止某个文件被拷贝
- C#调用执行DTS包时,怎么获得DTS包的执行进度.
- datalist分页怎么弄啊(新手)
- 请教各位大侠:如何用C#编写代码来修改磁盘上某一目录的名称?(急!!!在线等!!!)
- 一个c#函数,将传入的一个长字符串按规定的长度分几行等长输出
- 继承DataGridTextBoxColumn的问题
- 如何将一个sql取出的数据导入excel(在Web中)?
- 二进制如何转变为十六进制?
- 高难问题 ,怎样获取窗体上的所有Controls?
- interface 中如何用 static 定义一个函数??
System.Activator.CreateInstance参考
ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfsystemactivatorclasscreateinstancetopic.htm
http://expert.csdn.net/Expert/topic/1608/1608067.xml?temp=.5653345
http://expert.csdn.net/Expert/topic/1629/1629801.xml?temp=.2895624
{
if( ctrl.ID == "Text1" )
return (TextBox)ctrl;
else if( ctrl.HasControls() )
foreach( Control subCtrl in ctrl.Controls )
return GetTextBox();
else
return null;
}然后在你要获取的地方:TextBox tb = GetTextBox( Page );
我试了你给我的代码,可是Control类里没有ID、HasControls()这几个属性和方法啊,你看看是使用Control这个类吗?谢谢
需要使用完全限定名,也就是要加上命名空间的名称,就象:
string className = "A";
A obj = new A();
obj.execute();
Type classType = Type.GetType(className);
//这里classType 总为null???
if(classType != null)
{
obj = (A)Activator.CreateInstance(classType);
obj.execute();
}
还是不大清楚,可否解释清楚一点。谢谢
{
......................
}
string className = "A";
A obj ;
Type classType = Type.GetType(className);
//这里classType 总为null???
if(classType != null)
{
obj = (A)Activator.CreateInstance(classType);
obj.execute();
}
P这样应该懂了吧!
你在MSDN上看看Type.GetType(className);用法。当然也看看TYPE类!
这代码我是从别的贴子COPY来给你的。
你只要看看MSDN就知道了:)好运!
private void Form1_Load(object sender, System.EventArgs e)
{
TextBox ActiveTextBox;
foreach( Control subCtrl in Form1.ActiveForm.Controls)
{
if (subCtrl.Name == "textBox1")
ActiveTextBox = (TextBox)subCtrl;
}
}
调试时出现:“其他信息:未将对象引用设置到对象的实例。”
{
if( ctrl.Name == "Text1" )
return (TextBox)ctrl;
else if( ctrl.Controls.Count!=0 )
foreach( Control subCtrl in ctrl.Controls )
return GetTextBox();
else
return null;
}然后在你要获取的地方:TextBox tb = GetTextBox( this );
private TextBox GetTextBox( Control ctrl )
{
if( ctrl.Name == "Text1" )
return (TextBox)ctrl;
else if( ctrl.Controls.Count!=0 )
foreach( Control subCtrl in ctrl.Controls )
{
TextBox tb = GetTextBox(subCtrl);
if(tb!=null)
return tb;
}
else
return null;
}然后在你要获取的地方:TextBox tb = GetTextBox( this );
按F1就出来了。
然后索引!在里面输入TYPE就可以查到TYPE类的具体描述:)
呵呵,原来是这样,我以前是在Microsoft .NET Framework SDK的概述中打开,这种方式下索引是无法使用的(我也不知道是什么原因),奇怪。
谢谢疤哥,呵呵