findControl使用问题

这个月太忙没时间看C++ 2016-09-08 04:21:19
public FrmRePrint Form { get; private set; }

public DataRow DataRow { get; private set; }

public Piaost.Order.OrderInfo Info { get; private set; }

public Panel Panel { get; private set; }

public Label tbTime { get; private set; }
public Label tbPeopleNum { get; private set; }

private System.Windows.Forms.Control findControl(System.Windows.Forms.Control control, string controlName)
{
Control c1;
foreach (Control c in control.Controls)
{
if (c.Name == controlName)
{
return c;
}
else if (c.Controls.Count > 0)
{
c1 = findControl(c, controlName);
if (c1 != null)
{
return c1;
}
}
}
return null;
}
private void Init()
{
this.Panel.Tag = this.DataRow;
Label tbTime = (Label)this.findControl(Form.lb_Time, Form.lb_Time.Name);
Label tbPeopleNum = (Label)this.findControl(Form.lb_PeopleNum, Form.lb_PeopleNum.Name);
}

public void Write()
{
tbTime.Text = Info.CreateDate.ToString();
tbPeopleNum.Text = Convert.ToString(Info.OrderBuyNum);
}
上面Write方法代码为对我的一个自定义控件进行赋值,执行到 tbTime.Text = Info.CreateDate.ToString();提示错误为“未将对象引用设置到对象的实例”,首先Info.CreateDate.ToString();是有值的,而且值没问题
...全文
339 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2016-09-09
  • 打赏
  • 举报
回复
是 Controls.Find() 你写的是 Control.Find()
  • 打赏
  • 举报
回复
引用 2 楼 FoxDave 的回复:
你不需要知道那个方法的具体代码,把你自己的代码写明白就可以了
会debug吗?

会啊 这个方法我用在VS2008时提示错误,
Justin-Liu 2016-09-09
  • 打赏
  • 举报
回复
你不需要知道那个方法的具体代码,把你自己的代码写明白就可以了 会debug吗?
  • 打赏
  • 举报
回复
我知道原因了  大神们谁能告诉我public Control[] Find(string key, bool searchAllChildren);这个方法的具体代码是什么?MSDN中只有方法用法  我想知道这个方法的具体代码   谁能给我写一下??

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧