Heim  >  Artikel  >  Backend-Entwicklung  >  Selbststudium C#06 ab 0 – Gemeinsam genutzte Objekte für mehrere Formulare

Selbststudium C#06 ab 0 – Gemeinsam genutzte Objekte für mehrere Formulare

黄舟
黄舟Original
2017-02-04 10:42:551814Durchsuche

Im vorherigen Artikel wurde die Methode zum Delegieren von Ereignissen vorgestellt, um zu realisieren, dass das Unterformular die Steuerung des übergeordneten Formulars aufruft. In diesem Artikel wird die Parameterübergabe verwendet, um die gemeinsame Nutzung eines Entitätsobjekts zu erreichen.

Der in diesem Artikel verwendete Code wurde ebenfalls basierend auf dem vorherigen Artikel geändert.

1. Das übergeordnete Formular

verwendet das gemeinsam genutzte Entitätsobjekt innoBERT als Parameter des Unterformularkonstruktors. Der Code im Abschnitt „Diese Zeile ändern“ lautet wie folgt.

if (subFormPPGTx[i] == null || subFormPPGTx[i].IsDisposed)
                    {
                        subFormPPGTx[i] = new SubFormPPG(innoBERT, i);//修改此行
                        subFormPPGTx[i].Text = formTitle;
                        subFormPPGTx[i].Name = formName;
                        //subFormPPGTx[i].Tag = i;
                        subFormPPGTx[i].SendToParent += new SubFormPPG.SendFun(RecvInfo);
                        subFormPPGTx[i].Show(this);
                    }
                    else
                    {
                        subFormPPGTx[i].WindowState = FormWindowState.Normal;
                        subFormPPGTx[i].Activate();
                    }

2. Unterformular

Definieren Sie zunächst ein Klassenfeld, ändern Sie dann den Konstruktor des Unterformulars und fügen Sie Parameter hinzu, um das vom übergeordneten Formular übergebene Entitätsobjekt zu empfangen. Auf diese Weise kann das Entitätsobjekt innoBERT im Unterformular aufgerufen werden.

InnolightBERT innolightBERT;bool formStatus = false;private int ID;
public delegate void SendFun(int number);
public event SendFun SendToParent;
public SubFormPPG(InnolightBERT innoBERT, int ID)
{
    InitializeComponent();    this.innolightBERT = innoBERT;//接收对象
    this.ID = ID;
}

3. Verwenden Sie das Unterformular

, um die Eigenschaften des gemeinsam genutzten Entitätsobjekts aufzurufen.

private void SubFormPPG_Load(object sender, EventArgs e)
{    this.GetPPGSetting(this.ID);
}private void GetPPGSetting(int channel)
{    try
    {        switch (channel)
        {            case 0:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx1_Swing;                
break;            
case 1:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx2_Swing;                
break;            
case 2:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx3_Swing;                
break;            
case 3:                
this.comboBoxSwing.SelectedIndex = (int)innolightBERT.Tx4_Swing;               
 break;            
 default:                
 return;
        }
    }    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Das Obige ist der Inhalt des Selbststudiums C#06 aus 0-Multi-Form-Shared-Objekten. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). !


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn