#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. ОК. можете ли вы вставить полный код. итак, я вижу форму и текстовое поле