【问题标题】:Update textbox when I do an operation c#当我执行操作时更新文本框 c#
【发布时间】:2020-04-09 01:07:16
【问题描述】:

我有一个初始屏幕,其中有一个文本框,它显示了从文件app.config的键中提取的名称.

最初,键显示例如 60,如果我进行操作,键是 3,但我不知道如何更新文本框中代表该键的文本。这是我得到值 3 的代码:

        string nempresa;
        Configuration config = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);

        nempresa = config.AppSettings.Settings["EMPRESA"].Value;

        this.textBoxNombreEmpresa.Dock = System.Windows.Forms.DockStyle.Bottom;
        this.textBoxNombreEmpresa.Font = new System.Drawing.Font("Bookman Old Style", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
        this.textBoxNombreEmpresa.ForeColor = System.Drawing.SystemColors.MenuHighlight;
        this.textBoxNombreEmpresa.Location = new System.Drawing.Point(0, 742);
        this.textBoxNombreEmpresa.Multiline = true;
        this.textBoxNombreEmpresa.Name = "textBoxNombreEmpresa";
        this.textBoxNombreEmpresa.Size = new System.Drawing.Size(1548, 68);
        this.textBoxNombreEmpresa.TabIndex = 3;
        this.textBoxNombreEmpresa.Text = nempresa;
        this.textBoxNombreEmpresa.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;

有什么想法吗?

【问题讨论】:

  • 你希望它显示什么而不是 3?
  • @xTwisteDx 该变量包含什么,3 是该变量包含什么,但如果我更新变量,我希望文本框也更新
  • 创建一个方法UpdateTextBoxNombreEmpresa(string value) 并将nempresa 设置为一个属性。然后你可以在属性的 setter 中调用这个方法。这样,每当nempresa 获得新值时,您的文本框将始终被填充
  • 您好,您的问题解决了吗?
  • @MongZhu 你好!仍在努力!用计时器也许这行得通!

标签: c# forms visual-studio textbox app-config


【解决方案1】:

1) 将nempresa 设为属性:

string nempresa;

public string Nempresa
{
    get { return nempresa; }
    set { nempresa = value; }
}

2) 创建一个方法UpdateTextBoxNombreEmpresa(string value):

void UpdateTextBoxNombreEmpresa(string value)
{
    // put whatever code you want to be executed that is associated
    // with the update in here, (styling, position, size, ect...)
    this.textBoxNombreEmpresa.Text = value;
}

3) 在setter中调用方法:

public string Nempresa
{
    get { return nempresa; }
    set 
    {
        nempresa = value; 
        UpdateTextBoxNombreEmpresa(nempresa);
    }
}

4) 使用属性而不是字段:

this.Nempresa = whatEverYourValueIs;

编辑:这一行当然必须在文本框初始化之后!

【讨论】:

  • 谢谢你的时间蒙朱,我应该在设计师中这样做吗? (我从 C# 开始)
  • @LuckWallace 不,你把它写到你的表单类中。该属性将是表单的属性。
  • 所以,我有一个叫做 principal.cs 的表单,这个表单里面是 principal.Designer.cs 和 principal.resx ... 我应该在哪里做呢?抱歉这个问题,但我是这个问题的初学者......
  • @LuckWallace 在 [principal.cs] 中。打开设计器查看表单然后按F7键跳转到代码
  • 谢谢 Mong,但给了我一个错误,因为我在步骤 1) 和步骤 3) 中定义了两次 Nempresa
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-20
  • 2023-03-22
  • 1970-01-01
  • 2017-12-13
  • 1970-01-01
相关资源
最近更新 更多