프로그램이 실행될 때 두 개의 Form1과 Form2가 있습니다.이 두 양식을 표시하고 싶지만 Form2를 ShowDialog();
과 함께 사용하려면 Form1을 사용하기 전에 Form2에 응답해야합니다. 이것을 어떻게 할 수 있습니까?두 양식을 함께 표시합니다.
Form2는 사용자 입력을 받아 Form1에 표시되므로 사용자가 Form2에 응답하거나 그냥 죽인 후에 Form2를 숨겨야합니까?
프로그램이 실행될 때 두 개의 Form1과 Form2가 있습니다.이 두 양식을 표시하고 싶지만 Form2를 ShowDialog();
과 함께 사용하려면 Form1을 사용하기 전에 Form2에 응답해야합니다. 이것을 어떻게 할 수 있습니까?두 양식을 함께 표시합니다.
Form2는 사용자 입력을 받아 Form1에 표시되므로 사용자가 Form2에 응답하거나 그냥 죽인 후에 Form2를 숨겨야합니까?
ShowDialog
을 사용하는 경우 OK 또는 취소 할 때 Form2가 자동으로 숨겨집니다 (관련 버튼에 DialogResult
속성을 설정했다고 가정).하지만 여전히 처분해야합니다. 당신이 뭔가를 할 수 있습니다
using (Form f2 = new Form2())
{
// Populate it with existing data
DialogResult result = f2.ShowDialog();
// Use the result and any data within f2
}
나는 이런 형태로 이런 짓을 했을까 : 그는 Form1을 볼 수 로그인을 사용자가 히트 그래서 때를 Form2에
public FormMain()
{
InitializeComponent();
//Visible should be set within InitializeComponent (or Designer)
Visible = false;
//Can't be done in constructor, or this.Close()
//would lead to an exception.
this.Load += (sender, e) =>
{
bool loginSuccessfull = false;
using (var loginScreen = new FormLogin())
{
if (DialogResult.OK == loginScreen.ShowDialog())
{
//Maybe some other public function from loginScreen
//is needed to determine if the login was successfull
//loginSuccessfull = loginScreen.CheckCredentials();
loginSuccessfull = true;
}
}
if (loginSuccessfull)
{
Visible = true;
}
else
{
this.Close();
}
};
}
굉장 .. 고마워요. 많이. – Ani
나는 단 하나 개의 버튼 "로그인"을 가지고있다. 그래서 여전히 Dialogresult를 사용해야합니다. ?? 감사합니다. – Ani
@Ani : 사용자가 로그인을 취소하려면 어떻게해야합니까? 일반적으로 양식 상단 오른쪽에 정상 닫기 버튼이 있습니다. –
고마워요 ... 제가 당신의 요점을 가지고 있어요 – Ani