본문 바로가기

.NET(C#,ASP)

(19)
[C#]컨트롤에 포커스가 자동으로 안갈 때 간단한 폼을 만들었는데, 프로그램 실행 시 텍스트박스에 포커스가 가게끔 하려고 하였다. 그런데 이상하게 포커스가 안가는 것이다. 웹에서와 마찬가지로 컨트롤.Focus();면 되는거 같은데.. 설명도 된다고 적혀있고... 여기저기 웹을 서핑해봐도 그렇게 하면 다 된다고 하였다. 그런데 내 프로그램은 안가는 것이다. 그러다가 오늘 데브피아에서 해답을 얻었다. 일단 결론부터 말하자면, private void MyBrowser_Load(object sender, EventArgs e) { this.Activate(); textBox1.Focus(); } 이것이다. 아무래도 프로그램 실행시 창이 활성화 된 것처럼 보여도 실제로는 활성화가 안된 모양이었나보다. 그래서 this.Activate(); 이거 하나 붙여줬..
[C#]컴퓨터 종료/재시작/로그오프/취소 원래 cmd에서 사용하는 도스 명령어인데 이를 이용하여 C#에서 컴퓨터를 종료/로그오프/재시작 시킬 수 있다. 피시 강제 종료 System.Diagnostics.Process.Start("shutdown.exe", "-s -f"); 피시 종료 카운트다운 때 아래 명령을 날리면 종료가 취소됨 System.Diagnostics.Process.Start("shutdown.exe", "-a"); 피시 재시작 System.Diagnostics.Process.Start("shutdown.exe", "-r"); 피시 로그오프 System.Diagnostics.Process.Start("shutdown.exe", "-l"); 자세한 옵션은 커맨드창에서 shutdown이라고 치면 자세하게 알 수 있다. 참고로 WinAP..
[C#]Form에서 타이머(Timer)사용하기 콘솔 프로그램이라면 쓰레드(Thread)를 사용해야 하겠지만 윈폼에서는 타이머를 제공해주므로 쉽게 쓰레딩의 효과를 사용할 수 있다. 사실 몇 년만에 다시 프로그래밍을 해보려니 아주 까먹어도 너무 깨끗하게 까먹어서 놀라울 지경이다.. 그래서 새로 시작하는 마음으로 요새 C#을 다시 공부하고 있다. 아무튼, 스케쥴 걸어서 돌릴 작업이 있는데 이를 처음에 쓰레드로 구현하려다가 생각도 잘 안나고 여기저기 뒤져봐도 개념이 어렵고 그래서 고민하다가 타이머를 알게 되었다. 물론 알던건데.. 다시 발견한거라고 해야 하려나.. ㅋㅋ 타이머의 사용은 간단하다. 폼에 타이머 컨트롤을 드래그해서 붙여넣고, 타이머 컨트롤을 더블클릭하여 생기는 메쏘드(Method)에 스케쥴 작업을 집어넣으면 된다. 다시 설명하자면 타이머는 기본..