【问题标题】:Form TextBox values to Form2 TextBox values将 TextBox 值转换为 Form2 TextBox 值
【发布时间】:2013-01-20 14:53:31
【问题描述】:

基本上,当用户在Form2 上的textfield 中输入数据时,我希望将该数据存储到一个变量中,然后当用户选择输入按钮时,Form2 将隐藏,Form1 将出现。然后我希望Form1 在新的textfield 中显示来自Form2textfield 中输入的数据。

这是我的尝试,但它不起作用

在表格 2 上...

public string Player1 {get; set;}

private void pvpPlay_Click(object sender, EventArgs e)
    {

        Player1 = txtPlayer1.Text;
        Form1 op = new Form1();
        op.Show();
        this.Hide();

    }

然后在 Form1 上调用这个我把...

Form2 f = new Form2();
txtTest.Text = f.Player1;

但它不起作用。希望有人知道答案。

【问题讨论】:

标签: c# winforms visual-studio-2012


【解决方案1】:

我更喜欢使用这样的简单回调函数:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    public String SomeProperty { get; set; }

    private void OpenFormButton_Click(object sender, EventArgs e)
    {
        var secondForm = new Form2()
        {
            GetSomeProperty = () => { return SomeProperty ;};
        };
        this.Hide(); //The best way to hide!
        secondForm.Show();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        SomeProperty = "HELLO WORLD";
    }
}



public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public Func<string> GetSomeProperty
    {
        get;
        set;
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        MessageBox.Show(GetSomeProperty.Invoke());
    }
}

每次调用GetSomeProperty.Invoke();,Func 都会调用 get 访问器并从第一个表单返回

【讨论】:

  • 好的,我现在就试试看 =)
  • 有什么问题可以随时咨询 ;-)
  • 再次,这会将值显示到Form1,但Form2 不会隐藏:)
  • 哇,我真是个新手,哈哈……我试过这段代码,但它什么也没做? ://
  • @spajce 你真的想隐藏它还是只是最小化它?@GlenHunter 那很模糊,请描述问题
【解决方案2】:

您可以做的是重载 Form1 构造函数。

public Form1(string s)
{  
    txtTest.Text=s;
}  

当从Form2打电话时

Form1 op = new Form1(Player1);

【讨论】:

  • 这不是答案,但这会将值显示给Form1,但Form2 不会隐藏:)
  • @spajce- 请解释一下为什么 form1 不隐藏?
  • 这太难了,我们知道.. 尝试搜索 C# 中的表单行为。这在loginFormMainForm 中常用,并尝试检查我的答案。 stackoverflow.com/questions/14061746/can-not-focus-onto-a-form
  • @spajce- 我仍然不清楚你的评论。但试着理解它。我运行代码。如我所见,Form1 被隐藏了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2013-06-23
  • 1970-01-01
相关资源
最近更新 更多