【问题标题】:The name "locBox does not exist"名称“locBox 不存在”
【发布时间】:2021-02-18 18:05:31
【问题描述】:

我正在使用代码创建一个动态文本框,包括为其分配一个名称,然后尝试将新文本附加到文本框,但是我收到一个错误,即该名称在当前上下文中不存在.

我错过了一些简单的事情,还是做错了什么?如果这是我做错的基本事情,我深表歉意;我还在学习。

这是有问题的代码:

            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();

【问题讨论】:

  • 您的 TextBox 实例(您刚刚创建的对象)是 dynamicTextBox。所以dynamicTextBox.AppendText(var1.ToString());ControlAdded 是一个你真的不需要订阅的事件。然后,您必须将 dynamicTextBox 添加到父容器以使其可见。如果 Parent 是当前 Form,则为 this.Controls.Add(dynamicTextBox);。 -- 给定属性名称,我假设这是一个 WinForms 项目。您需要标记您的问题,指定 UI 平台。

标签: c# dynamic textbox


【解决方案1】:

locBox 未定义。您必须删除最后两个语句。并在删除后更改最后一条语句。 将“dynamicTextBox”替换为表单控件实例。

        {form instance name}.ControlAdded += locBox;

“{}”是占位符。 我不知道这有多大帮助。

【讨论】:

  • {表单实例名称}.ControlAdded += dynamicTextBox;
  • 您的意思是先将文本框添加到设计表单中吗?我也试过这样;将其添加到设计屏幕,然后附加文本,但即使文本框已经存在指定的名称,我仍然会收到相同的错误。要么是那个,要么是“非静态字段方法需要一个对象引用”。
  • 好的。你能粘贴完整的代码吗?所以我可以看到表单和文本框
猜你喜欢
  • 2016-11-06
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 2020-03-16
  • 2012-12-06
相关资源
最近更新 更多