【问题标题】:Accessing Text Box Values from Form to another class将文本框值从表单访问到另一个类
【发布时间】:2012-08-28 10:13:02
【问题描述】:

我有一个 WPF 应用程序,其中包含一个名为 RateView.xaml.cs 和 MainWindow.xaml.cs 的类

MainWindow.xaml.cs 包含三个文本框,我想将它们的值传递到 RateView.xaml.cs。这些文本框的内容可以由最终用户更改,但无论如何我总是希望文本框的值进入 rateview.xaml.cs。

如何做到这一点?

我是编码新手,因此不确定,有人提到 Get 和 Set 语句,如果是,我该怎么做?

目前我在 MainWindow 中像这样访问我的文本框:

private float GetSomeNumber()
{
    bool Number1 = false;
    float parsedNumber1Value = 0.00F;
    Number1 = float.TryParse(Number1_TextBox.Text, out parsedNumber1Value);
    return parsedNumber1Value;
}

然后将 GetSomeNumber() 方法传递给另一个单独的类以进行一些计算。

在初始加载时,它适用于我方法中的值,但一旦有人更改值 rateview.xaml.cs 就无法识别此更改,并且始终使用第一次加载的值。

谢谢

【问题讨论】:

  • 要从另一个类访问 GetSomeNumber,它必须是公共的。那么您能否展示更多代码,如何以及在何处调用 GetSomeNumber? RateView.xaml.cs 也是文件名,你的类名可能是 RateView
  • 你能展示一下Number1_TextBoxNumber1_TextBox.Text的实现吗?
  • @JleruOHeP 它是这样调用的:'LiveCalculation.Process(GetNumber1());'传递到发生一些数字运算的计算类中。但是,我需要传递最新的值,因为它可以由用户在文本框中更改

标签: c# wpf textbox get set


【解决方案1】:

只是一个小例子(这是winforms)

这是你的文本框所在的主窗口:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
1
public string TextBox1Text
{ 
  get { return textBox1.Text; }
  set { textBox1.Text = value;
}
}

这是一个你想与文本框交互的类:

public class Test
{
public Test(Form1 form)
{
//Set the text of the textbox in the form1
form.TextBox1Text = "Hello World";
}
}

【讨论】:

【解决方案2】:

要在另一个类/表单中获取和设置文本框的值,您可以使用以下方法:

public string TextBox1Text
{ get { return textBox1.Text; } 
  set { textBox1.Text = value; } }

【讨论】:

  • 这段代码是在哪里完成的?在 MainWindow 中还是在其他类中?
  • 在主窗口中。存在文本框的地方。
  • 然后我如何在其他类中调用它们?我尝试使用 Application.current.mainwindow 但它们没有出现在那里?
  • 您需要另一个类中的主窗口实例。
  • 我该怎么做?我试过做 Application.current.mainwindow MW = new Application.current.mainwindow() 但它不起作用。
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多