如何为属性提供来自另一个类的值
本文关键字:另一个 属性 | 更新日期: 2023-09-27 18:36:20
我有2个类:FrmMenu
和FrmProperty
。FrmProperty
年,我创建了一个这样的属性:
public string ApplicationString { get; set; }
form1_load(object sender, EventArgs e)
{
MessageBox.Show(ApplicationString);
}
然后,我在 FrmMenu
中实例化该类,如下所示:
FrmProperty frmp = new FrmProperty();
//Give value
frmp.ApplicationString = "1";
frmp.ShowDialog();
此代码应将值从 FrmMenu
传输到 FrmProperty
。为什么这不起作用?消息框为空。
所以,我自己也试过了,首先要注意的是你提供的代码无法编译。您的示例具有:
form1_load(object sender, EventArgs e)
{
MessageBox.Show(ApplicationString);
}
但这最好写成:
private void FrmProperty_Load(object sender, EventArgs e)
{
MessageBox.Show(ApplicationString);
}
也许这是不言自明的,但我发现它总是有助于确保一切都尽可能清晰。
就您的问题而言,我唯一可能想到的使您的代码无法使用上述方法的方法是,如果您没有将FrmProperty_Load
方法连接到 Load 事件 FrmProperty
.
除非有东西要求,否则 FrmProperty_Load
方法不会运行,因此在 FrmProperty
的构造函数中添加以下内容:
this.Load += FrmProperty_Load;
您的FrmMenu
类应保持不变,FrmProperty
类应大致如下所示:
public partial class FrmProperty : Form
{
public string ApplicationString { get; set; }
public FrmProperty()
{
InitializeComponent();
this.Load += FrmProperty_Load;
}
private void FrmProperty_Load(object sender, EventArgs e)
{
MessageBox.Show(ApplicationString);
}
}