ToolStripProgressBar RightToLeftLayout设置属性问题

时间:2012-02-20 05:42:59

标签: winforms propertyinfo

这里我试图设置ToolStripProgressBar的RIghtToLeftLayout属性,当我尝试设置值为true或false时,我收到此错误.....

System.Windows.Forms.ToolStripProgressBar.set_RightToLeftLayout(布尔值)中的

   对象引用未设置为对象的实例。

以下是代码:

PropertyInfo piRightToLeftLayout = ci.Type.GetProperty("RightToLeftLayout", typeof(bool));
if ((null != piRightToLeftLayout) && piRightToLeftLayout.CanWrite)
{
  piRightToLeftLayout.GetSetMethod().Invoke(ci.Value, new object[] { IsRightToLeft() });
}

IsRightToLeft():返回true或false。

请帮我解决此问题。

1 个答案:

答案 0 :(得分:0)

你为什么要通过反思来做呢? ToolStripProgressBar.RightToLeftLayout是公共财产。

就你的NullReferenceException而言,所有的setter都是:

  set
  {
    this.ProgressBar.RightToLeftLayout = value;
  }

这意味着,ProgressBar属性为null,这似乎很奇怪。我想知道您在通话前所做的事情以及ci的设置方式。