좋아요. 로그인 폼의 부울을 내 홈 폼에 전달하려고합니다. 일반적으로 이것은 괜찮을 것이고, 속성 만 사용하게 될 것입니다. 그러나 나는 이번에도 비슷한 방법을 사용할 수 있다고 생각했지만 양식에 싱글 톤 팩토리를 구현하고있다.싱글 톤을 사용할 때 Winforms 사이에 속성 전달하기
다음과 관련된 로그인 코드는 다음과 같습니다. AdminAccess 속성이 올바르게 설정되고 값이 올바른지 확인했습니다.
public HomeForm()
{
InitializeComponent();
//just to check what is in the property quickly
textBox1.Text = AdminPermissions.ToString();
}
private bool adminPermissions;
public bool AdminPermissions
{
private get { return adminPermissions; }
set { adminPermissions = value; }
}
public Form StartupHome
{
set;
get;
}
private static HomeForm homeUI;
public static HomeForm HomeUI
{
get
{
if (homeUI == null || homeUI.IsDisposed)
{
homeUI = new HomeForm();
}
return homeUI;
}
}
값은 루프가 실행되는 경우 HomeUI이 형태의 새로운 인스턴스가 생성 될 때 때 다시 가져옵니다
private bool adminAccess;
public bool AdminAccess
{
get { return adminAccess; }
private set { adminAccess = value; }
}
private void btnLogin_Click(object sender, EventArgs e)
{
//Some Code Does Stuff
OpenHome();
}
private void OpenHome()
{
HomeForm CreateHomeForm = HomeForm.HomeUI;
CreateHomeForm.StartupHome = this;
//Trying to set the property.
CreateHomeForm.AdminPermissions= this.AdminAccess;
CreateHomeForm.Show();
this.Hide();
}
여기에 홈 형태의 관련 코드입니다. 나는 이것을 수정하여 어떻게 작동하는 해결책을 얻는 지 생각할 수 없다. 당신은 내가 아마추어라고 말할 수 있듯이 나는 이것에 빠르고 깨끗한 해결책을 찾고 있습니다 :) 미리 감사드립니다!
도움을 주셔서 감사합니다 이것은 다른 답변에 주어진 지원에서 표시된 이벤트를 사용하여 결합 내 문제를 해결했습니다! 나는 어리석은 무엇인가하고있는 나 이었기를 바랐다. : –