나는이 모든 것을 읽는 것이 정상적인 절차이기 때문에 그 순간 어리석은 느낌이 들며, 왜 내가 그 일을 할 수 없는지도 찾을 수 없습니다. !부모 양식은 하위 양식 Public 속성 - Winforms에 액세스 할 수 없습니다. C#
그래서 상황은 다음과 같습니다. 부모 양식과 하위 양식이 있습니다. Child Form은 공용 속성을가집니다. 부모 양식에서 Child Form 공용 속성에 액세스하려고하는데 할 수 없습니다.
내 코드는 다음
부모 코드 :
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()) 나는 것 다음과 같이하십시오 : var sCustomer = f.SelectedCustomer;,하지만 이렇게하면 Visual Studio에서 Child Form 공용 속성을 인식하지 못합니다.
내가 뭘 잘못하고 있니? : |
이 상속 정상 작동합니다. Property에 접근하기 위해'''ProjectCustomerList'''에 타입 변환 할 수 있습니다. '''is'' 연산자도 유용합니다. ''(f는 ProjectCustomerList 임) (f는 ProjectCustomerList 임) .SelectedCustomer''' 또는 간단히'''(ProjectCustomerList f = 새 ProjectCustomerList()) ...''' – FrankM
@FrankM, 대답으로; 그것은 확실히 정확합니다. –
'var'을 사용하면 피할 수있는 실수가 하나 더 생깁니다 ... –