私はこれを読んでいるどこでも普通の手順であるため、今は馬鹿だと感じています。なぜ私もそれをやり遂げることができません!親フォームは子フォームにアクセスできないPublicプロパティ - Winforms C#
したがって、状況は次のとおりです。私は親フォームと子フォームを持っています。子フォームにはパブリックプロパティがあります。親フォームから、私は子フォームのパブリックプロパティにアクセスしたいと思います。
私のコードは以下の通り:
親コード:
namespace myProgram.UserInterfaces
{
public partial class ProjectNew : Form
{
public ProjectNew()
{
InitializeComponent();
}
private void ButtonSelectCustomer_Click(object sender, EventArgs e)
{
using (Form f = new ProjectCustomerList())
{
this.SuspendLayout();
f.ShowDialog(this);
}
this.Show();
}
}
}
子コード:後
namespace myProgram.UserInterfaces
{
public partial class ProjectCustomerList : Form
{
public EntCustomer _selectedCustomer = new EntCustomer();
public EntCustomer SelectedCustomer {
get
{
return _selectedCustomer;
}
}
public ProjectCustomerList()
{
InitializeComponent();
}
// --- other code ---
}
}
が使用(フォームF =新しいProjectCustomerList()) iは希望次のようにします:var sCustomer = f.SelectedCustomer;、これを行うと、Visual StudioはChild Formのパブリックプロパティを認識しません。
私は間違っていますか? :|
これは、継承と正常に動作します。 '' ProjectCustomerList'''にタイプキャストしてプロパティにアクセスすることができます。 '' '' ''演算子も便利です。 ''もしf(ProjectCustomerList)ならば(fはProjectCustomerListとして).SelectedCustomer'''または単に ''を使用する(ProjectCustomerList f = new ProjectCustomerList())... '' ' – FrankM
@FrankM、あなたのコメントを置くべきです答えとして。それは間違いなく正しいです。 –
'var'を使用することで避けられたもう一つ間違い... –