【问题标题】:Getting a class property value from a textbox从文本框中获取类属性值
【发布时间】:2018-05-22 02:48:37
【问题描述】:

我想知道如何使用文本框的输入返回类属性的值?即 nameTextBox 中的输入将转到 Pet 类的 Name 属性,breedTextBox 将是 Breed 属性等。

使用 C# windows 窗体。

【问题讨论】:

  • 对“Windows 窗体数据绑定”做一些研究。您可以使用许多策略来实现这一点,而不是一种“最佳实践”。
  • 标签不能加WinForms吗?

标签: c# winforms class


【解决方案1】:

这个逻辑可以通过处理TextBox 实例的TextChanged 事件来完成。给定当前的Pet 实例m_Pet(例如,作为成员在您的类中分配):

private Pet m_Pet = new Pet();

以及表单的InitializeComponent方法中的事件订阅:

m_TextBoxName = new TextBox();
m_TextBoxName.TextChanged += TextBoxName_TextChanged;

您可以这样做:

private void TextBoxName_TextChanged(Object sender, EventArgs e)
{
    m_Pet.Name = m_TextBoxName.Text;
}

您可以根据需要对任意数量的属性执行相同的操作:

private void TextBoxBreed_TextChanged(Object sender, EventArgs e)
{
    m_Pet.Breed = m_TextBoxBreed.Text;
}

private void TextBoxType_TextChanged(Object sender, EventArgs e)
{
    m_Pet.Type = m_TextBoxType.Text;
}

【讨论】:

    【解决方案2】:
    Pet pet = new Pet();
    pet.Name = nameTextBox.Text;
    

    等等

    如果您的问题是如何执行此代码,则要么有一个“更新”按钮,并在其 Click 事件处理程序中运行此代码,要么订阅文本框的 TextChanged 事件并在那里执行。 (你也可以使用绑定,稍微复杂一点。见here。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 2017-12-22
      • 1970-01-01
      • 2013-01-04
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      相关资源
      最近更新 更多