>  기사  >  백엔드 개발  >  0의 C#06 자율 학습 -- 여러 양식에 대한 공유 객체

0의 C#06 자율 학습 -- 여러 양식에 대한 공유 객체

黄舟
黄舟원래의
2017-02-04 10:42:551859검색

이전 글에서는 상위 폼의 컨트롤을 호출하는 하위 폼을 구현하기 위해 이벤트를 위임하는 방법을 소개했습니다. 이 문서에서는 매개변수 전달을 사용하여 엔터티 개체를 공유합니다.

이 글에 사용된 코드도 이전 글을 바탕으로 수정되었습니다.

1. 상위 양식

은 공유 엔터티 개체 innoBERT를 하위 양식 생성자의 매개 변수로 사용합니다. "이 줄 수정" 섹션의 코드는 다음과 같습니다.

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. 하위 양식

먼저 클래스 필드를 정의한 다음 하위 양식의 생성자를 수정하고 매개변수를 추가하여 상위 양식에서 전달된 엔터티 개체를 받습니다. 이러한 방식으로 하위 양식에서 엔터티 개체 innoBERT를 호출할 수 있습니다.

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.

하위 양식을 사용하여 공유 엔터티 개체의 속성을 호출합니다.

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);
    }
}

위 내용은 0-multi-form 공유 객체의 C#06 자습 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.