예제를 Windows Form Application으로 만들고 클래스 파일 ( EventClass.cs 이름이 참 -_-;; 죄송합니다 너무 대충 ) , 폼에 버튼을 하나 생성하였다.
Property의 값이 변경될때. 이벤트를 발생시키는데 초보라 아직까지 이해를 제대로 못하고 있습니다. -_-;;
EventClass.cs 의 내용입니다.
----------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;-ml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />-ml:namespace prefix = o />
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace EventClass
{
class EventClass : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(null, new PropertyChangedEventArgs(info));
}
}
private string companyName;
public string CompanyName
{
get
{
return companyName;
}
set
{
companyName = value;
NotifyPropertyChanged(CompanyName);
}
}
}
}
----------------------------------------------------------------------------------------------------
form.cs의 내용입니다 -_-;;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Event
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
EventClass eventClass = new EventClass();
private void Form1_Load(object sender, EventArgs e)
{
eventClass.PropertyChanged += new PropertyChangedEventHandler(eventClass_PropertyChanged);
}
void eventClass_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "테스트")
{
MessageBox.Show("프로퍼티의 값이 테스트일때만 메세지박스 호출하기");
}
}
private void button1_Click(object sender, EventArgs e)
{
eventClass.CompanyName = "테스트";
}
}
}
예제도 너무 허접하지만 의도대로 제대로 한것인지 -_-;; 죄송합니다 ...
요약을 해보면 버튼 클릭시 eventClass의 CompanyName프로퍼티의 값을 저장한다.
프로퍼티로 값이 저장될때 CompanyName으로 전달된 value가 "테스트" 일 경우 메세지 박스 호출
'C#' 카테고리의 다른 글
[C#] HttpWebRequest/HttpWebResponse Memory leak 현상 발생 관련 사항 (0) | 2022.08.12 |
---|---|
[C#] WebView2 Control 이용 PDF 파일 오픈 후 Key , mouse 입력 인쇄 시도 (0) | 2022.05.26 |
[RTSP] TCPClient를 이용하여 OPTIONS 요청 결과 받기 (0) | 2022.03.03 |
VirtualBox 호스트와 멀티캐스트(Multicast) 패킷 송/수신 테스트 진행 (0) | 2022.03.02 |
Log4Net을 이용한 로그 기록 (0) | 2021.09.03 |