#1프로그래밍/#5 C# 4

[C#, Winform, 에러, InvokeRequired ] System.InvalidOperationException: 크로스 스레드 작업이 잘못되었습니다

1. 에러 발생 System.InvalidOperationException: 크로스 스레드 작업이 잘못되었습니다. 'label_Connection' 컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스되었습니다. 위치: System.Windows.Forms.Control.get_Handle() 위치: System.Windows.Forms.Control.set_WindowText(String value) 위치: System.Windows.Forms.Control.set_Text(String value) 2. 원인 분석 - 멀티 쓰레드 환경에서 Winform 컨트롤을 다른 스레드에서 접근할 때 발생 - 현재 Thread에서 실시간으로 UI를 변경하는 부분이 존재 //4. Simulation Thread ..

[C#, Button, Image] C# 버튼에 이미지 넣기

1. Resources.resx 파일 열기 2.Resources.resx에 이미지 드래그앤 드롭으로 넣기 - Start_Button, Stop_Button 이미지를 넣었다. - 여기서 중요한거는 이미지를 버튼 사이즈랑 비슷하거나 조금 작게 해야지 이미지가 잘 보인다 3. 버튼 - 이미지 속성 선택 - Image에 넣을 이미지를 리소스 파일에서 선택 - 앞에서 Resources.resx 파일에 넣은 이미지가 보인다. - 여기서 선택하면 초기 이미지가 설정된다. 4. 코드에서 이미지 넣기 button_Start.Image = Properties.Resources.Stop_Button; - 이건 참 쉽다. 찾기가 어렵지... ㅋㅋ

[C#] DLL 'xxxxx' 을(를) 로드할 수 없습니다. (HRESULT: 0x8007007E)

1. C# Winform 실행시 DLL 로드 실패 에러 발생 System.DllNotFoundException: DLL 'xxxx'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E) 2. 확인 사항 - 실행 파일 폴더내에 dll파일 존재 - 개발 환경에서 정상 동작 -->다른 PC에서 debug 폴더 그대로 복사하여 실행시 에러 발생 - 개발 환경 : 실행 환경 OS(windows 10 pro), x64 동일 3 . 보조 프로그램에서 xxxx.dll파일 참조하는 다른 dll을 확인 - 방법 1) depends.exe(Dependency Walker) --> windows10의 경우 실행시간이 너무 오래 걸림 - 방법 2) https://g..

[C#, VisualStudio] log4net 적용하기

1. 프로젝트 - 참조 - 오른쪽 마우스 - NuGet 패키지 관리 2. 찾아보기 - log4net 설치하기 3. 응용 프로그램 구성 파일 추가 - 파일 이름 : log4net.config 4. log4net.config 파일 설정 5. log4net.config 파일 속성 설정 6. AssemblyInfo.cs 파일 변경 하단에 아래 텍스트 추가 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] 6. 로그 기록