在Form1中
private void button4_Click(object sender, EventArgs e)
{
AddText at = new AddText();
at.Show();
richTextBox2.Text = at.text;
}
以新表格
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace test
{
public partial class AddText : Form
{
public string text = "";
public AddText()
{
InitializeComponent();
}
private void AddText_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
text = textBox1.Text;
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
当我点击新表单中的button1
时,它会将textBox1
中的文字分配给变量文字。
但是它没有将它传递给Form1.richTextBox2
。
我想问题是我尝试在按钮点击事件中分配Form1
中的文本:
richTextBox2.Text = at.text;
但这发生在新表单中的按钮Click
事件之前。
我应该在Form1
中将文字分配给richTextBox2
?
我使用ShowDialog()
只有在关闭新表单窗口时才能正常工作。只有当我关闭它时,我才能看到richTextBox2
中的文字。但是,当我单击“确定”(按钮1)按钮而未关闭表单时,我希望在richTextBox2
中看到该文本。
答案 0 :(得分:2)
Form1中
private void button4_Click(object sender, EventArgs e)
{
AddText at = new AddText(this);
at.Show();
richTextBox2.Text = at.text;
}
public void SetText(string text)
{
richTextBox2.Text = text;
}
新表格
public partial class AddText : Form
{
private Form1 _form1;
public AddText(Form1 form1)
{
InitializeComponent();
_form1 = form1;
}
private void AddText_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
_form1.SetText(textBox1.Text);
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}