C# 윈도우폼 시계 프로그램 만들기

이 글은 제가 프로그래밍 초심자일때 작성하여 가독성이 떨어질 수 있으며(작성하는 현재 최대한 보완할 예정입니다.) 좋지 못한 습관을 나타낼 수 있으므로 참고만 하도록 합시다! 최종 프로그램은 현재시간, 타이머, 스톱워치를 포함하고 있습니다. 현재시각 - 사전설정 먼저 윈폼의 도구 상자에서 타이머를 꺼내옵니다. 그럼 위처럼 하단에 타이머가 배치됩니다. 타이머는 속성에서 시작한 상태로 동작할 것인지,...

C# 윈도우폼 HiDPI 흐릿한 현상 해결

C# 윈도우폼을 만들다 보면 레이아웃 크기는 어찌저찌 맞춰지는데 결과적으로 빌드된 프로그램의 레이아웃 혹은 폰트가 흐릿하게 보이는 현상을 발견했다. 이를 해결하기 위해서 네이버 지식인에 질문했더니 SetProcessDPIAware을 호출하면 가능하다는 답변을 받았다. MSDN에 나와있다고 하지만 한글로 번역이 안되서 답답했다. 결론은 해결 방법이 2가지가 있다. 소스코드에 삽입 방법과 매니페스트 파일에 삽입하는 방식인데, 매니페스트 파일에...

C# 윈도우폼 자동시작 구현

프로그램을 윈도우 부팅과 함께 실행하는 방법은 여러가지가 있을것이다. 레지스트리에 추가하는 방법과 그렇지 않은 방법. 글쓴이의 경우에는 Qt를 사용할때 그렇지 않은 방법으로 해결했는데 C#에서도 역시 그러할 것이다. 물론 우선순위를 선정하여 빠르게 실행시키기 위해선 레지스트리에 등록해야 하지 않을까 싶다. 1 AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 위 폴더에 등록된 프로그램은 윈도우 부팅과 함께 자동으로 시작된다. 물론...

C#으로 구현한 ALU 곱셈 연산

ALU에서 부호 없는 2진수 곱셈기의 방식은 Q레지스터의 각각(처음 부터 끝까지)의 비트수가 0이면 우측 시프트를 수행하고 1일 경우 A레지스터에 M레지스터를 더해주고 우측 시프트를 진행하는 방식이다. 만약 이 문구가 이해가 안 된다면 소스코드를 복사해서 돌려본 다음 계속해서 보고있으면 뭔가 감이 올 것으로 생각된다. 그렇게 Q레지스터의 비트수 만큼 연산이 진행되고 10진수로 변환하면 곱셈값은...