0

在这里,我尝试设置 ToolStripProgressBar 的 RIghtToLeftLayout 属性,当我尝试将值设置为 true 或 false 时,出现此错误.....

在 System.Windows.Forms.ToolStripProgressBar.set_RightToLeftLayout(Boolean value) 对象引用未设置为对象的实例。

这是代码:

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

IsRightToLeft() :返回真或假。

请帮我解决这个问题。

4

1 回答 1

0

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

就您的 NullReferenceException 而言,setter 所做的只是:

  set
  {
    this.ProgressBar.RightToLeftLayout = value;
  }

这意味着 ProgressBar 属性为空,这看起来很奇怪。我想知道您在打电话之前在做什么以及如何ci设置。

于 2012-02-20T21:43:17.540 回答