반응형
지금 프로젝트를 유저컨트롤로 만들고 다른 프로젝트에 넣을 것 입니다. 그리고 여기에 보이는 "바로가기" 버튼을 누르면
다음과 같이 새로운 프로젝트에서 버튼 이벤트를 받아서 받은값 (여기에서는 1 을 받았습니다.)을 메세지 박스로 띄우겠습니다.
지금 보시는 화면에서 "뷰어/에디터"에 있는 바로가기 버튼 Name은 "ViwerButton" 입니다.
- 유저 컨트롤로 만든 프로젝트 소스 -
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace ProgramMiniInfo { ////// Window1.xaml에 대한 상호 작용 논리 /// public partial class Window1 : Window { public delegate void ClickProgramInfoButton(int buttonnum); public event ClickProgramInfoButton ProgramInfoButtonHandler; public Window1() { InitializeComponent(); } private void ViwerButton_Click(object sender, RoutedEventArgs e) { ProgramInfoButtonHandler(1); } private void DataButton_Click(object sender, RoutedEventArgs e) { ProgramInfoButtonHandler(2); } private void DiaryButton_Click(object sender, RoutedEventArgs e) { ProgramInfoButtonHandler(3); } private void SimulationButton_Click(object sender, RoutedEventArgs e) { ProgramInfoButtonHandler(4); } private void StudyButton_Click(object sender, RoutedEventArgs e) { ProgramInfoButtonHandler(5); } } }
- 유저 컨트롤을 사용하는 프로젝트 소스 -
private void Start() { programminiinfodll = new ProgramMiniInfoDLL.UserControl1(); InputUserControl(programminiinfodll); programminiinfodll.ProgramInfoButtonHandler += new ProgramMiniInfoDLL.UserControl1.ClickProgramInfoButton(programminiinfodll_ProgramInfoButtonHandler); } void programminiinfodll_ProgramInfoButtonHandler(int buttonnum)//처음화면 프로그램 설명 버튼 클릭 { if (buttonnum == 1) { MessageBox.Show(buttonnum.ToString() + "번을 누르셨군요"); } else if (buttonnum == 2) { MessageBox.Show(buttonnum.ToString() + "번을 누르셨군요"); } else if (buttonnum == 3) { MessageBox.Show(buttonnum.ToString() + "번을 누르셨군요"); } else if (buttonnum == 4) { MessageBox.Show(buttonnum.ToString() + "번을 누르셨군요"); } else if (buttonnum == 5) { MessageBox.Show(buttonnum.ToString() + "번을 누르셨군요"); } }
반응형
'→ 개발 > WPF' 카테고리의 다른 글
[WPF] DispatcherTimer 타이머 (0) | 2010.11.17 |
---|---|
[WPF] 키보드 키 눌렀을때 어떤키인지 알아보자! (2) | 2010.07.19 |
[WPF] 콤보박스에서 아이템 선택시 문자열 가져오기 (0) | 2010.07.14 |
[WPF] 새 WPF창 띄울때 마우스위치에 띄우기 (0) | 2010.07.12 |
[WPF] 확인 취소 가능한 MessageBox 만들기 (0) | 2010.07.12 |