101. DialogResult (부모폼과 자식폼의 값 전달)
.NET프로그래밍/WinForm 2009. 8. 24. 14:29 |
==> MainForm.cs
private void miDialogResult_Click(object sender, EventArgs e)
{
MyWinForms.Class.FrmDialogResult fdr = new MyWinForms.Class.FrmDialogResult();
fdr.Show();
}
==============================================================================================
==> FrmDialogResult.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyWinForms.Class
{
public partial class FrmDialogResult : Form
{
public FrmDialogResult()
{
InitializeComponent();
}
// 속성
public string Value { get; set; }
private void btnSend_Click(object sender, EventArgs e)
{
// 자식 폼으로 데이터 전송
MyWinForms.Class.FrmDialogResultChild c = new FrmDialogResultChild();
c.Owner = this; // 자식 폼의 주인 FrmDialogResult
c.SendValue = txtParent.Text; // 속성으로 값을 전달
//DialogResult dr = c.ShowDialog(); // 폼 로드되면서 전송된 텍스트가 자식 폼에 출력
if (c.ShowDialog() == DialogResult.OK)
{
this.txtResult.Text = Value;
}
}
}
}
==============================================================================================
==> FrmDialogResultChild.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyWinForms.Class
{
public partial class FrmDialogResultChild : Form
{
public FrmDialogResultChild()
{
InitializeComponent();
}
// 속성
public string SendValue { get; set; }
private void FrmDialogResultChild_Load(object sender, EventArgs e)
{
// 폼 로드시 SendValue 속성에 담긴 값 저장
this.txtChild.Text = SendValue;
}
private void btnOK_Click(object sender, EventArgs e)
{
FrmDialogResult fdr = (FrmDialogResult)Owner;
fdr.Value = txtReturn.Text; // 텍스트 전송
this.Close(); // 현재 폼 닫기
}
}
}
< 실행결과 >
==> FrmDialogResult(부모)에서 'abc'를 입력후 '전송'버튼을 누르면 FrmDialogResultChild(자식)에 같은값(abc)이 나옴
==> FrmDialogResultChild에서 '123'을 입력 후 '확인'버튼을 누르면 FrmDialogResultChild폼은 사라지면서 FrmDialogResult에서 '123'이 나옴
'.NET프로그래밍 > WinForm' 카테고리의 다른 글
103. 파일열기(OpenFileDialog) / 파일저장(SaveFileDialog) / 폴더열기(FolderBrowserDialog) 대화상자 (0) | 2009.08.24 |
---|---|
102. 글꼴대화상자(FontDialog) / 색상대화상자(ColorDialog) (0) | 2009.08.24 |
100. 그룹박스(GrouBox) (0) | 2009.08.24 |
99. 콤보박스(ComboBox)와 리스트박스(LIstBox) (0) | 2009.08.24 |
98. 메시지박스(MessageBox) (0) | 2009.08.24 |