728x90
반응형
728x170
■ Control 클래스를 사용해 컨트롤 이벤트를 제거하는 방법을 보여준다.
▶ 예제 코드 (C#)
using System.ComponentModel;
using System.Reflection;
using System.Windows.Forms;
#region 이벤트 제거하기 - RemoveEvent(targetControl, eventName)
/// <summary>
/// 이벤트 제거하기
/// </summary>
/// <param name="targetControl">타겟 컨트롤</param>
/// <param name="eventName">이벤트명</param>
public void RemoveEvent(Control targetControl, string eventName)
{
FieldInfo fieldInfo = typeof(Control).GetField(eventName, BindingFlags.Static | BindingFlags.NonPublic);
PropertyInfo propertyInfo = targetControl.GetType().GetProperty("Events", BindingFlags.NonPublic | BindingFlags.Instance);
object fieldValue = fieldInfo.GetValue(targetControl);
EventHandlerList eventHandlerList = (EventHandlerList)propertyInfo.GetValue(targetControl, null);
eventHandlerList.RemoveHandler(fieldValue, eventHandlerList[fieldValue]);
}
#endregion
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM] ColorTranslator 클래스 : ToHtml 정적 메소드를 사용해 16진수 색상 코드 구하기 (0) | 2022.10.02 |
---|---|
[C#/WINFORM/.NET6] TimeZoneInfo 클래스 : ConvertTimeFromUtc 정적 메소드를 사용해 UTC 시간을 특정 지역 시간으로 변환하기 (0) | 2022.09.26 |
[C#/WINFORM/.NET6] DataGridView 클래스 : 복수 선택 행 삭제하기 (0) | 2022.08.30 |
[C#/WINFORM/.NET6] DataGridView 클래스 : 단일 선택 행 삭제하기 (0) | 2022.08.30 |
[C#/WINFORM/.NET6] DataGridView 클래스 : 셀 색상 설정하기 (0) | 2022.08.25 |
[C#/WINFORM/.NET6] Point 클래스 : 다각형 내부 위치 여부 구하기 (0) | 2022.08.20 |
[C#/WINFORM/.NET6] Point 클래스 : 다각형 내부 위치 여부 구하기 (0) | 2022.08.20 |
[C#/WINFORM/.NET6] Point 클래스 : 다각형 내부 위치 여부 구하기 (0) | 2022.08.20 |
[C#/WINFORM/.NET6] Point 클래스 : 다각형 내부 위치 여부 구하기 (0) | 2022.08.20 |
[C#/WINFORM] ListView 클래스 : RetrieveVirtualItem 이벤트를 사용해 대용량 데이터 조회하기 (0) | 2022.07.20 |
댓글을 달아 주세요