TextBox[] t = new TextBox[5];
t[1] = new TextBox();
t[1].Name = "T1";
t[1].Text = "dsf";
t[1].Location = new Point(25, 25);
this.Controls.Add(t[1]);Object o = this.GetType().GetField("T1",BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Instance).GetValue(this);在最后一句的时候提示“未将对象引用设置到对象的实例。”
有人知道要怎么写吗?我想在窗体初始化的时候动态添加控件,可以添加之后要怎么操作控件,
例如给出"T1"就能找到此控件。
t[1] = new TextBox();
t[1].Name = "T1";
t[1].Text = "dsf";
t[1].Location = new Point(25, 25);
this.Controls.Add(t[1]);Object o = this.GetType().GetField("T1",BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Instance).GetValue(this);在最后一句的时候提示“未将对象引用设置到对象的实例。”
有人知道要怎么写吗?我想在窗体初始化的时候动态添加控件,可以添加之后要怎么操作控件,
例如给出"T1"就能找到此控件。
解决方案 »
- 数据库表对应Models层类代码生成器,用C#写的
- 请教 mycommand22.Parameters.Add("", OleDbType.Binary).Value = (byte[])myreader01["stream"]; 正确写法
- **********关于数据显示的问题********
- 数据库问题
- 如何在VC中调用.NET组件?
- 请教高手,留言板的问题
- 请教:我用OpenText();打开一个文件,调试时发现显示的汉字是乱码,所以找不到我所需要的(@"路径1 =") 字符串。
- .Net的使用程度调查,有人在用.Net做项目么?
- 请教:有没有一个事件,就是textbox里的值一发生变化就响应?
- 求大神解答WP8.1 HubSelection控件问题
- C#创建对象实例,可以把子类对象给父类?
- [可用分回赠参与帖]从snk形式文件导出xml形式的密钥密钥对供程序使用,不知道怎样实现?
TextBox[] tb = o as TextBox[];
foreach (TextBox b in tb)
if (b.Name == "T1")
Console.WriteLine(b.Text);
如果我没有猜错的话,你这个异常是在foreach里面吧
如果是这样,那是因为你数组的大小是5,但是你只实例化了一个t[1]=new TextBox();
t[0],t[2],t[3],t[4]都没有实例话,当然对产生异常记得要结贴
我的代码贴出来,你看一下是哪里有问题
TextBox[] t = new TextBox[5];
for (int i = 0; i <5; i++)
{
t[i] = new TextBox();
t[i].Name = "T"+i.ToString();
t[i].Text = "dsf" + i.ToString();
t[i].Location = new Point(25, 25*i);
this.Controls.Add(t[i]);
}Object o = this.GetType().GetField("t",BindingFlags.Public |BindingFlags.NonPublic |BindingFlags.Instance).GetValue(this);
TextBox[] tb = o as TextBox[];
foreach (TextBox b in tb)
if (b.Name == "T1")
MessageBox.Show(b.Text);
TextBox[] t = new TextBox[5];
t是字段,不能写在方法里
class Form1:Form
{
public TextBox[]t=new TextBox[5];
void SomeMethod()
{
for (int i = 0; i <5; i++)
{
t[i] = new TextBox();
t[i].Name = "T"+i.ToString();
t[i].Text = "dsf" + i.ToString();
t[i].Location = new Point(25, 25*i);
this.Controls.Add(t[i]);
} Object o = this.GetType().GetField("t",BindingFlags.Public ¦BindingFlags.NonPublic ¦BindingFlags.Instance).GetValue(this);
TextBox[] tb = o as TextBox[];
foreach (TextBox b in tb)
if (b.Name == "T1")
MessageBox.Show(b.Text);
}
}要学会思考,不要总是依赖别人,结贴吧