Имя «locBox не существует»

#c# #dynamic #textbox

#c# #динамический #текстовое поле

Вопрос:

Я использую код для создания динамического текстового поля, включая присвоение ему имени, а затем пытаюсь добавить новый текст в текстовое поле, однако я получаю сообщение об ошибке, что имя не существует в текущем контексте.

Я пропустил что-то простое или сделал что-то не так? Я прошу прощения, если это основная вещь, которую я делаю неправильно; Я все еще учусь.

Вот код, о котором идет речь:

             TextBox dynamicTextBox = new TextBox();
            dynamicTextBox.Name = "locBox";
            dynamicTextBox.Multiline = true;
            dynamicTextBox.Width = 300;
            dynamicTextBox.Height = 40;
            dynamicTextBox.Text = "Text ");
            dynamicTextBox.ControlAdded  = locBox;

            locBox.AppendText = var1.ToString();
            locBox.AppendText = var2.ToString();
  

Комментарии:

1. Ваш экземпляр текстового поля (объект, который вы только что создали) dynamicTextBox . Итак dynamicTextBox.AppendText(var1.ToString()); . ControlAdded это событие, на которое вам действительно не нужно подписываться. Затем вам нужно добавить dynamicTextBox в родительский контейнер, чтобы сделать его видимым. Если родительской является текущая форма, то this.Controls.Add(dynamicTextBox); . — Я предполагаю, учитывая имена свойств, что это проект WinForms. Вам нужно пометить свой вопрос, указав платформу пользовательского интерфейса.

Ответ №1:

locBox не определен. вы должны удалить два последних оператора. и измените последний оператор после удаления тоже. замените «dynamicTextBox» на экземпляр элемента управления формой .

         {form instance name}.ControlAdded  = locBox;
  

«{}» — это заполнитель.
Я не знаю, насколько это полезно.

Комментарии:

1. {имя экземпляра формы}. ControlAdded = dynamicTextBox;

2. Вы имеете в виду сначала добавить текстовое поле в форму дизайна? Я тоже пробовал это так; добавляя его на экран дизайна, а затем добавляя текст, но даже если текстовое поле уже существует с присвоенным именем, я все равно получаю ту же ошибку. Либо это, либо «для метода нестатического поля требуется ссылка obejct».

3. ОК. можете ли вы вставить полный код. итак, я вижу форму и текстовое поле