여기서 stackoverflow에 대한 답변을 찾을 수 없어서 여기에 설명되어 있습니다. 하위 폼의 단추를 클릭 할 때 MenuStrip 하위 항목의 텍스트를 변경하려고합니다. 아래는 내 서브 양식에있는 제출 단추의 코드입니다. 클릭하면 "Log In"텍스트가 "Log Out"으로 변경됩니다. 코드는 괜찮아 보이고 오류는 없지만 텍스트를 업데이트하지는 않습니다.다른 양식 단추에서 양식 메뉴 항목의 텍스트를 변경하는 방법
public AccessForm()
{
InitializeComponent();
}
private void btnSubmit_Click(object sender, EventArgs e)
{
try
{
if (txtUser.Text == "admin" && txtPass.Text == "1234")
{
MessageBox.Show("Access granted.", "Access");
playgroundPlannersForm mainForm = new playgroundPlannersForm();
mainForm.logInToolStripMenuItem.Text = "Log Out";
this.Close();
}
else
{
MessageBox.Show("Incorrect Username or Password.", "Warning");
txtUser.Clear();
txtPass.Clear();
txtUser.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show("Message: " + ex, "Error");
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
당신은 거의 올바른 생각을 가지고 있습니다. 우선 속성을 만들고 응용 프로그램/양식의 구조에 따라 달라집니다. 다른 양식의 인스턴스를 만들 때 부모/소유자를 사용하여 MDI를 조사 할 것입니다. 버튼 텍스트를 기반으로 확인 또는 Switch 문을 수행하면 여러 가지 방법으로이 작업을 수행 할 수 있습니다. – MethodMan
제발 이런 식으로하려고하지 마십시오. 메뉴 항목의 상태와 같은 것을 제어하는 기본 객체 모델이 있어야합니다. 하위 폼에서이를 변경할 수 있으며 기본 폼이 반응 할 수 있습니다. 양식이나 컨트롤에서 UI 요소를 변경하지 * 않습니다. 코드는 매우 빠르게 관리하기 어려워집니다. – siride