我怎样才能直接从一个窗体的值传递给另一个?接收者表单将在屏幕上显示,并将从主表单发送监听传递值。如何使这种方法的相反
我知道一个方法来做到这一点与代表和事件,但我不是我想要的。
我需要用相反的方式。以下是我可以做这些代码行。这样做只能将Form2传递给Form1(主窗体)。我需要这种方法的相反。因此,Form1将成为发送者Form2将成为接收者,并在屏幕上显示时实时传输。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.IdentityUpdated += new Form2.IdentityUpdateHandler(Form2_ButtonClicked);
f.Show();
}
private void Form2_ButtonClicked(object sender, IdentityUpdateEventArgs e)
{
textBox1.Text = e.FirstName;
}
}
public partial class Form2 : Form
{
public delegate void IdentityUpdateHandler(object sender, IdentityUpdateEventArgs e);
public event IdentityUpdateHandler IdentityUpdated;
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
string sFirstName = txtFirstName.Text;
IdentityUpdateEventArgs args = new IdentityUpdateEventArgs(sFirstName);
IdentityUpdated(this, args);
}
}
public class IdentityUpdateEventArgs : System.EventArgs
{
private string mFirstName;
public IdentityUpdateEventArgs(string sFirstName)
{
this.mFirstName = sFirstName;
}
public string FirstName
{
get { return mFirstName; }
}
}
事件是这样做的正确方法。你有什么问题? – Blorgbeard
@Blorgbeard,我觉得这足够我在这里解释。 –
那么它*不足以让我理解你。但是,其他人可能会这样做。 – Blorgbeard