windows - विंडोज फॉर्म, माता-पिता के रूप से संपत्ति प्राप्त करना




forms parent (2)

मुझे एक समस्या का एक सा हो रहा है मेरे पास माता पिता के रूप में एक आंकड़ा है। मैं एक डायलॉग बॉक्स प्रपत्र खोलता हूं जो आंकने योग्य संपत्ति को प्राप्त करता है और एक चेकबॉक्ससूची बनाता है। इसका उपयोग उन कॉलम को निर्यात करने के लिए किया जाएगा। लेकिन जब मैं अनुप्रयोग चलाता हूँ, मूल संपत्ति की संपत्ति शून्य है। मैंने इसे माता-पिता और संवाद बॉक्स फ़ॉर्म में सेट करने की कोशिश की है (मुझे लगता है कि यह स्वचालित रूप से किया गया होता अगर ShowDialog () कहा जाता था)।

क्या कोई देख सकता है और देख सकता हूँ कि मैं गलत कहां जा रहा हूं? संवाद बॉक्स से:

frmParent MyParentForm = (frmParent)this.ParentForm;
for (int i=0; i<MyParentForm.DataGridTable.Count; i++)
{
   chkListExportItems.Add(MyParentForm.DataGrid.Columns[i].Name,true);
}

माता-पिता के रूप से:

frmExports MyForm = new frmExports();
MyForm.MdiParent = this;
if (MyForm.ShowDialog == DialogResult.OK)
{
   MyForm.SelectedItems // Do something
}

1) "MdiParent" उपयोग करने के लिए गलत संपत्ति है

2) MyForm.ShowDialog (यह) कॉल करें;

3) मोडल फॉर्म में "this.Owner" का उपयोग करें


अपने संवाद बॉक्स फ़ॉर्म में डेटाग्रिडटेबल के लिए एक संदर्भ दें। आप इसे कन्स्ट्रक्टर में पास कर सकते हैं। आपको माता-पिता / जनक फोरम का उपयोग करने से बचने और कास्टिंग से बचने से बचने चाहिए।





children