본문 바로가기

반응형

전체 글

(186)
git cherry-pick 취소하는 방법 git cherry-pick --abort --abort를 해준다. [출처] https://rateye.tistory.com/1787
.NET Reflection을 이용한 메서드 호출 .NET Refrection은 .NET 객체의 클래스 타입, 메서드, 프로퍼티 등의 메타 정보를 런타임에 알아내는 기능을 제공한다. 또한, 이러한 메타 정보를 얻은 후, 직접 메서드를 호출하거나 프로퍼티를 변경하는 등의 작업도 가능하다. .NET Reflection을 이용한 메서드 호출 - .NET Reflection을 이용해서 메서드 프로토타입 즉, 함수 인자, 리턴값 등의 메타 정보를 읽어 오는 것이 가능하며, 이를 통해 직접 그 메서드를 호출하는 것이 가능하다. 특정 메서드 정보를 얻기 위해서 Type.GetMethod()를 호출하고, 모든 메서드 정보를 가져오기 위해서는 GetMethods()를 호출한다. class Program { static void Main(string[] args) { v..
그라데이션이 포함된 이미지를 배경으로 한 Form 만들기 그라데이션이 들어간 이미지를 배경으로 한 Form을 만들어야 했던 적이 있다. Background 색을 Transparent로 설정하여 배경색을 투명으로 하라고 했지만 그라데이션 색은 이상하게 보였다.. 구글링을 한 결과 찾을 수 있었다.. 하지만 오류?가 있었는데.. 모든 데스크톱에 다 보인다는 점이 있었다.(설정값 때문에..ㅠ) [출처] https://www.codeproject.com/Tips/1224958/Winforms-Transparent-Background-Image-with-Gradien
메시지 처리 방법 3가지 훅(Hook) : 원하는 정보를 엿보거나 가로채는 도구 후킹(Hooking) : 실제로 정보를 엿보고 조작하는 행위 1. IMessageFilter 상속 - 대부분의 이벤트에 적용 가능(마우스, 키 이벤트 등) - m.Msg를 통해 이벤트의 종류를 알아보고 하단에서 그것에 대한 상세처리를 하는 구조이다. - return 값은 true와 false가 있다. - true의 경우, 메시지 후킹 후 현재 포커스된 컨트롤에게 해당 메시지를 보내줍니다. - false의 경우, 메시지 후킹 후 현재 포커스된 컨트롤에게 해당 메시지를 보내지 않습니다. 2. ProcessCmdKey 오버라이드 - 주로 키 입력 가로챌 때 사용하는 듯 3. WndProc 오버라이드 - 다른 프로그램으로부터 메시지 받거나 다른 프로그램에게..
Debounce, Throttle Debounce - 입력주기가 끝나면 마지막 값을 출력한다. - 우가로 Value가 들어오면 주기가 다시 갱신된다. Throttle - 처음 구독 시점에 첫번째 value를 바로 방출한다. - 첫번째값인 경우(latest: false) : 특정 주기 안의 첫번째 Value를 출력한다. - 가장 최근값인 경우(latest: true) : 특정 주기 안의 가장 최근 Value를 출력한다. [출처] 개념 : http://chanhee-jeong.tistory.com/21 코드 - https://gist.github.com/RickStrahl/0519b678f3294e27891f4d4f0608519a - https://medium.com/@coddicat/c-debounce-and-throttle-4c927a4..
STAThread C#은 기본적으로 MTA로 운영되는데, STAThread라고 설정하지 않으면 기본적으로 MTAThread 방식으로 운영된다. STA를 사용하는 경우는 싱글 Thread로만 동작되는 COM 객체를 사용하는 경우인데 드래그 드랍 기능 클립보드 관련 기능 OpenDialog, SaveFileDialog 웹브라우저 컨트롤 등과 같이 시스템 기능을 사용하는 경우 STAThread로 동작 되어야 한다. 또, COM을 직접 사용하는 것이 아니어도 .NET Framework의 일부 기능을 COM일 사용하고 있기 때문에, 그러한 기능을 사용하는 경우에도 반드시 STA로 할 필요가 있다고 한다. [출처] COM 설명 : http://something-is-code.tistory.com/33 STA 사용하는 경우 참고 : ..
Background에서 메소드 실행하는 방법 1. BackgroundWorker Thread 사용하기 2. Thread - IsBackground 속성 사용하기 var thread = new Thread(실행시키려는 메소드); thread.IsBackground = true; // default value는 false thread.Start();
C# Winform 디자이너가 정상적으로 로딩되지 않을 경우, 체크 사항 및 해결 방안 1. 리빌드 한 후, 디자이너를 실행시켜본다. 2. Visual Studio을 재기동한다. 3. 컴포넌트_Load 이벤트 확인 디자인 모드에서도 컴포넌트_Load가 호출되는 듯하다. 따라서, 컴포넌트_Load 이벤트에서 DB접속등의 많은 일을 하는 경우(Control이 Load되는 시점에 DB로부터 Control에 속한 ComboBox나 Grid를 초히과하는 코드들을 넣어야 할 때), 디자인 모드에서 문제 발생 가능하다. 이 경우, 디자인 모드에서 실행되지 말아야 한다면, 컴포넌트_Load 이벤트에 DesignMode인지 확인해주는 작업이 필요하다. // Program.cs [STAThread] private static void Main() { Util.SetIsDesignMode(); // 맨 처음 ..

반응형