У меня есть класс Ribbon1, который был создан Visual Studio.Как вы получаете доступ к элементам управления ленты (например, RibbonEditBox) из внешнего класса?
public Microsoft.Office.Tools.Ribbon.RibbonEditBox IDBox;
Я хотел бы получить доступ к одному из элементов управления лентой из другого класса.
using MyRibbon = ExcelAddIn1.Ribbon1;
xlTextID = MyRibbon.IDBox.Text;
У меня есть сообщение об ошибке.
Ссылка на объект обязательна для нестатического поля, метод, .
Я не могу сделать IDBox статическим, потому что он инициализируется как экземпляр класса с помощью метода InitializeComponent().
this.IDBox = this.Factory.CreateRibbonEditBox();
Я также пытался создать недвижимость.
private Microsoft.Office.Tools.Ribbon.RibbonEditBox IDBox;
public Microsoft.Office.Tools.Ribbon.RibbonEditBox IDBoxProperty
{
get { return IDBox; }
set { IDBox = value; }
}
Выполнение этого Я видел точно такую же ошибку.
Как я могу хранить IDBox не статические и все еще получать доступ к нему из внешнего класса?
Я могу найти ответ - см. Ниже.
возможно дубликат [Ссылка на объект требуется для нестатического поля, метод или свойство «WindowsApplication1.Form1.setTextboxText (целое) ] (http://stackoverflow.com/questions/498400/an-object-reference-is-required-for-the-nonstatic-field-method-or-property-wi) –
В соответствии с многими почти одинаковыми вопросами здесь «Ссылка на объект требуется для нестатического поля, метода, свойства», вы получаете доступ к классу, как если бы это был экземпляр (объект) этого класса. Вместо того, чтобы 'MyRibbon.IDBox.Text', вам нужно создать экземпляр' MyRibbon.IDBox' (или, более того, получить доступ к экземпляру exisiting, созданному методом 'InitializeComponent'. –
Как получить доступ к экземплярам, созданным методом InitializeComponent ? – LLaP