C# 5

[C#, TextBox, 숫자만입력] TextBox에 숫자만 입력 받고 싶을 경우

1. KeyPress 이벤트 생성 2. 이벤트 함수 수정 - 키보드에서 숫자 + Back 키만 입력받고 싶은 경우 private void textBox_Simulator_Sec_KeyPress(object sender, KeyPressEventArgs e) { //숫자와 백스페이스만 입력 if (!(char.IsDigit(e.KeyChar) || e.KeyChar == Convert.ToChar(Keys.Back))) { e.Handled = true; } } - 키보드에서 숫자 + Back 키 + dot(소수점 표현)만 입력받고 싶은 경우 private void textBox_Simulator_Sec_KeyPress(object sender, KeyPressEventArgs e) { //숫자와 백스페이..

카테고리 없음 2022.11.23

[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. 로그 기록