좋은 하루 녀석들, 이전 질문을 확인했습니다. 그렇습니다.하지만 실제로 문제를 해결하지 못했습니다.두 양식을 실행하는 C# 창 양식
두 가지 양식이있는 응용 프로그램을 작성 중이며 mainForm 및 Password 양식이 있습니다.
두 개의 코드를 스캔하여 일치하는 양식입니다. 첫 번째 코드를 스캔 한 다음 두 번째 코드를 스캔합니다. 일치하면 일치하는 것을 나타내는 녹색 불이 팝업됩니다. 코드가 일치하지 않으면 빨간색 표시등과 암호 양식을 동시에 팝업하고 관리자가 스캔 한 내용을 확인하기 위해 양식 텍스트 상자를 ReadOnly에 잠급니다.
이 모든 작업을 수행하고 있습니다.
감독자가 암호를 입력 할 때 사용자가 스캔을 계속할 수 있도록 양식을 다시 표시해야하는 경우 문제가 발생합니다. 그러나 문제는 그것이 새로운 형태를 열 때입니다, 잠긴 뒤에있는 것이 사라지지 않는 것입니다. 양식을 다시 설정하려고했지만 작동하지 않습니다. 이걸 도와주세요.
//object references of the Main Form
MainForm fm=new MainForm();
if ((txtPassword.Text =="This"
{
fm.BringToFront();
//Reset the form to a normal state
fm.lblResult.Visible = false;
fm.txtResult.Visible = false;
fm.chkMtn.Checked = false;
fm.chkVodacom.Checked = false;
//Clear the textBox of the form
fm.txtMainFormScan1.Text="";
fm.txtMainFormScan2.Text="";
set the focus on the fist Scan
fm.txtFirstScan.Focus();
}
The code above does not work. now i am using the one below.
if ((txtPassword.Text =="ThisPassword")
{
lblInstructPassword.Text = "Password correct";
txtPassword.Text = "";
fm.ControlBox = true;
//fm.Activate();
this.Hide(); //This Close the Password form
fm.Show();
fm.chkMtn.Checked = true;
}
내가 //fm.ShowDialog를 사용하는 경우에도, 내가 이길 수 없다. 또한 뮤텍스를 사용하여 응용 프로그램 인스턴스 하나만 실행할 수 있도록했습니다. 결과는 0입니다. 사전에 도움을 주셔서 감사합니다.
은 당신이 당신의 주요의 방법 "ResetForm()"를 쓸 수 없습니다 양식을 작성하고 암호 양식에서 호출하십시오. – Aboc
이 응용 프로그램이 매우 커질 경우 winforms 대신 MVVM 패턴을 사용하여 WPF를 사용하는 것이 좋습니다. 더 많은 전력 및 유연성을 제공합니다. –
큰 문제는 아니지만, 주요 기능은 수동으로 스캔 할 때 사용자가 수행하는 오류를 최소화하기 위해 하나의 문제 만 해결하는 것입니다. –