2017-02-07 6 views
0

Visual Studio 2012의 Windows Form 응용 프로그램에서 작업하고 있습니다. 두 가지 형식이 있습니다. 이러한 형태의 Visual Studio 2012 Windows Form 응용 프로그램

Add_Item_to_DB1
Add_Item_to_DB2

모두 SUBMIT라는 세 번째 형태를 호출합니다. 이제이 양식을 어디에서 호출했는지에 따라 정보를 다른 데이터베이스에 제출해야합니다. SUBMIT 양식의 다른 모든 항목은 데이터가 다른 데이터베이스에 삽입된다는 점을 제외하고는 똑같습니다.

어디에서 양식을 불러 오는지 확인할 수있는 방법이 있습니까? Form 응용 프로그램을 처음 사용하는 사람. 당신이 Owner 속성을 통해 제출 양식을 열 형태를 결정할 수있을 것 ShowDialog() 방법과 제출 양식을 열 경우

당신에게

답변

0

감사드립니다. 예 :

public partial class Add_Owner_To_Db_1 : Form 
{ 
    private void button1_Click(object sender, EventArgs e) 
    { 
     var submitForm = new SUBMIT(); 

     submitForm.ShowDialog(this); 
    } 
} 

public partial class SUBMIT : Form 
{ 
    private void SUBMIT_Load(object sender, EventArgs e) 
    { 
     //label1.Text will equal "Add_Owner_To_Db_1" 
     label1.Text = this.Owner.Text; 
    } 
} 

또는 부모 양식에서 채울 수있는 SUBMIT 양식의 공개 속성을 노출 할 수 있습니다. 예를 들어 :

public partial class Add_Owner_To_Db_1 : Form 
{ 
    private void button1_Click(object sender, EventArgs e) 
    { 
     var submitForm = new SUBMIT(); 

     submitForm.ParentName = "Add_Owner_To_Db_1"; 

     submitForm.Show(); 
    } 
} 

public partial class SUBMIT : Form 
{ 
    public string ParentName { get; set; } 

    private void SUBMIT_Load(object sender, EventArgs e) 
    { 
     //label1.Text will equal "Add_Owner_To_Db_1" 
     label1.Text = ParentName; 
    } 
} 

HTH

+0

감사합니다. 그것이 바로 제가 알고 싶었던 것입니다. –

+0

소유자와 함께 messagebox를 표시하려면'messageBox.show (this.Owner.ToString())'를 그냥 수행합니까? Object 참조가 객체의 인스턴스로 설정되지 않은 방법에 대한 오류가 계속 발생합니다. –

+0

첫째, messageBox.Show() 대신 messageBox.show()를 사용하고 있는지 확인하십시오 (대문자 표시를 주목하십시오). 둘째, Owner 속성을 사용하려면 ShowDialog()를 사용하여 폼을로드해야합니다. – Teppic

관련 문제