2011-01-25 4 views
0

Sir, MDI 상위 폼과 3 개의 Mdi 하위 폼을 만들었습니다. 각 하위 폼에는 버튼이 있습니다. 버튼을 클릭하면 새 양식이 표시됩니다. 3 개의 하위 폼에있는 3 개의 버튼을 모두 클릭하면 3 개의 새 폼이 표시됩니다. 괜찮아.serialport에서받은 MdiChild 폼에 데이터를 표시하는 방법

내 문제는 다음과 같습니다

1 버튼을 클릭에 표시되는 각각의 새로운 형태로도 작업 표시 줄에 표시됩니다. 나는 각각의 새로운 형식 (mdi 자식 폼과는 별도)이 메인 mdi 부모의 mdi 자식이되기를 바란다.

2이 새로운 형식은 직렬 포트를 통해 연결된 장치에서 수신 한 데이터를 표시합니다. 얼마나 많은 serialport 객체를 생성해야합니까? 그 중 하나가 작성되어야한다면, 주 mdi 상위 양식 또는 개별 양식 (3 개의 새 양식)에 있습니까? 그것이 MDI 부모 폼에 있다면 어떻게 3 개의 새로 열린 폼에서 그 객체에 접근 할 수 있습니까? 그것이 새로 생성 된 폼에 있다면 동일한 COM 포트에 액세스하는 3 개의 직렬 포트 객체가 생기므로 "COM 포트에 액세스 할 수 없습니다"라는 예외가 발생합니다.

답장을 보내십시오 ... 나는 최근에 졸업하고 새로운 C#을 통과했습니다. 그래서 답장을 부탁드립니다. 양식을 보여주는 경우, MdiParent 속성을 설정

답변

1

1) 모든 새로운 양식 부울 속성하여 ShowInTaskBar을 가지고 - 거짓

// Create new MDI Child 
// within ButtonClick in MainForm 
CHILDFORMCLASS nf = new CHILDFORMCLASS(); 
nf.mdiParent = this; 
nf.Show(); 

2)하여 SerialPort 개체로 설정 - 난 단지 당신에 의해 mainForm에 액세스 할 수 있습니다 귀하의 ChildForms에서 기본 폼 하나를 만들 것 더 이상

HTH

01 발생하지 않습니다 - 단 하나의 객체가있는 한 MdiParent

MainForm 
    Write a public property to access the serialPort 

ChildForm 
    PARENTFORMCLASS p = (PARENTFORMCLASS) this.Mdiparent; 
    p.PUBLICPROPERTY // to access serial port object 

3)를 사용하여

+0

1- 이것은 자식 폼을 만드는 경우에 해당됩니다. chihld 양식의 버튼을 클릭하면 새 양식이 열립니다. 나는 그 형태가 아이가되기를 원합니다. 내가 사용하는 경우 --- Form1 newform = new Form1(); newform.MdiParent = mdichild; 그런 다음 Mdichild 양식이 부모와 자식으로 모두 취급되지 않는 예외를 제공합니다. – himanshu

+0

for 2 - 작성 위치 Serialport.Open(); 그것이 주 부모 폼의 생성자에 있으면 새 객체가 생성 될 때마다 COM 포트에 액세스하는 예외가 발생합니다. – himanshu

+0

1) childForm 내에 새로운 childForm을 만들면 다음과 같이 해보십시오 : Form1 newForm = new Form1(); newForm.MdiParent = this.mdiParent; 2) 나는이 커피를 마셔야겠다. D –

1

1) 감사합니다 .... : 당신이 열려있는 시리얼 포트를 가지고 당신이 많은하여 SerialPort 개체를 만들

newform.MdiParent = mdiparent; 
newform.Show(); 

2). 하나가 있다면 부모에게 열어서 메소드 호출을 통해 자식에게 데이터를 보냅니다. (똑똑하고 모든 인터페이스를 제공 할 수 있습니다 :). 그러면 데이터를 구문 분석하고 각각 수신 한 내용을 필터링 할 수 있습니다.

+0

newform.MdiParent = mdiparent; 어떻게 새로 만든 된 양식에 mdiparent 개체에 액세스 할 수 있습니다. – himanshu

+0

일반적으로 객체/창을 만드는 것으로 설정됩니다. ont가 메인 폼이면 "this"를 전달하고, 이미 자식 윈도우 인 경우 this.mdiParent로 지정합니다. – Deanna

관련 문제