QnA
사용언어 (칠해주세요) => (C#,VB) |
사용툴 (VS) : 2010 |
운영체제 (OS) : xp |

매출관리 창에서요 거래처를 조회하고 팝업에서 거래처 선택 후 매출관리에 값을 집어넣을때 질문입니다
제가 동적으로 할줄을 몰라 팝업창에서 소스를
((frmMaech)(this.Owner)).cboCustomCode.SelectedValue = 값
을 일일이 다 기술하였어요 ㅠㅠ 노가다..ㅠㅠ
매출관리화면 말고 기타 다른화면에서 거래처를 찾을때도 일일이 화면이름을 구분해서 if를 걸어 매출관리처럼
값을 집어넣었는데요 일일이 구분하지않고 기술하지도 않으면서 바로 부모창에다가 값을 집어넣을수 있는
방법은 없을까요? Form도 넘겨보고 했는데 어느화면에서 팝업을 물러왔는지를 구분을 해야할것같아서
지금까지 저런 방법을 써왔습니다 좀더 쉽게 구현 할수있는 방법은 없을까요?
첫댓글 작은 셈플이라도 올려주시면 알려주실 분이 계실것 같네요..
전 winform 않한지가 오래돼서...
아 네.. ㅋㅋ 알겠습니다 예제를 만들어서 다시 질문 올리도록 하겠습니다 ^^
헉 이거 지식인에 보고 답변 단거 같은데... 제 개인적인 생각은 자식 Form에 이벤트를 추가해서 부모 Form에서 이벤트를 이용하여 값을 전달받는게 어떨까 싶습니다.
매출관리 화면에서 검색버튼을 클릭 후 거래처 찾기 창이 뜨는 방식에 따라 갈릴 수 있겠네요.
즉 거래처 찾기 창이 모달 이냐 모달리스 냐에 따라 방법을 달리 해야 할텐데요..
여기에서는 기본적인 방법만 설명 드릴게요. 보통 이런 경우 거래처 찾기 창은 모달로 띄우는 경우가 많습니다.
거래처 찾기 창이 항상 떠 있어야 하는 모달리스가 아닐바에야 자식창이 부모창에 접근하는 것 보다는 부모창이 자식창을 띄우고 자식창이 닫힐 때 반환되는 DialogResult 에 따라 적절히 반응하면 될 것 같습니다.
즉 거래처 정보를 부모창이 획득함에 있어 자식창이 부모창에 밀어넣는 방식이 아닌 부모창이 자식창으로 부터 끄집어 내는 방법입니다.
예를 들면, 버튼 클릭 이벤트 핸들러에서
ChildForm formChild = new ChildForm();
if(DialogResult.Ok == formChild.ShowDialog())
{
var selectedCompanyName = formChild.CompanyName;
this.txtCompanyName.Text = selectedCompanyName;
}
이런 방식이 되겠네요..
답변 감사합니다 방식은 모달이구요 예제프로그램을 다시 올려 질문을 해야하는데 아직 못해서 하하^^;;