본문 바로가기
728x90
반응형

프로그래밍/c#16

[c#, Xamarin] Control(On/Off) Numlock Key in programmatically public static class ControlNumlock { [StructLayout(LayoutKind.Sequential)] public struct INPUT { internal int type; internal short wVk; internal short wScan; internal int dwFlags; internal int time; internal IntPtr dwExtraInfo; int dummy1; int dummy2; internal int type1; internal short wVk1; internal short wScan1; internal int dwFlags1; internal int time1; internal IntPtr dwExtraInfo1; int dummy.. 2022. 8. 12.
[Winform, c#] 리소스에 있는 이미지 로드 1. 프로젝트에 Resources 폴더생성 2. 쓸 이미지를 드래그드롭으로 프로젝트 생성한 폴더에 넣기 3. 속성에서 '빌드 작업'을 '포함리소스' 로 변경 4. Resources 폴더에 있는 이미지를 프로젝트 Properties - Resources.resx를 클릭하여 뜨는 창에 드래그드롭 5. cs파일에서 사용( picturebox.Image = Resources.image; ) 2022. 1. 27.
[c#] CreateParams 사용 protected override CreateParams CreateParams { get { CreateParams createParams = base.CreateParams; createParams.ExStyle |= properties return createParams; } } properties 종류 (생각날 때 계속 추가예정) WM_NOACTIVATE = 0x8000000L; CreateParams 속성을 사용해 포커스 설정 방지하기 WS_EX_TOOLWINDOW = 0x80; 어플리케이션 숨기기 (알트탭해도 안보이기) CS_DROPSHADOW = 0x00020000; 폼의 그림자 넣고 빼기 WS_EX_COMPOSITED = 0x2000000; 화면 갱신 플리커 해결(깜박임 제거) protec.. 2021. 1. 28.
[c#] Region, 소스정리 #region 정리요약 이름 #endregion region ~ endregion 사이 내용을 접었다가 펼 수 있다. 소스 관리쉬워짐 2021. 1. 28.
[c#] string.Format 서식 서식항목 {index[,alignment][:formatString]} var value = String.Format("{0,-10:C}", 126347.89m); Console.WriteLine(value); index 문자열 표현이 문자열의이 위치에 포함 될 인수의 인덱스 (0부터 시작)입니다. 이 인수가 이면 null 문자열의이 위치에 빈 문자열이 포함 됩니다. Alignment 선택 사항입니다. 인수가 삽입 되는 필드의 전체 길이와 오른쪽에 맞출지 (양의 정수) 아니면 왼쪽 맞춤 (음의 정수)을 나타내는 부호 있는 정수입니다. 맞춤 을 생략 하면 해당 인수의 문자열 표현이 선행 또는 후행 공백이 없는 필드에 삽입 됩니다. Alignment 의 값이 삽입할 인수의 길이 보다 작은 경우 맞춤 은 무시.. 2021. 1. 26.
[Tip] Visual Studio 단축키 CTRL + ALT +L 솔루션 탐색기 열기 CTRL CTRL + K + C : 주석처리 CTRL + K + U : 주석해제 CTRL + K + D : 자동정렬 CTRL + M + M : 코드블록 접기, 열기 CTRL + K + K : 북마크 기능, 해제 CTRL + K + N : 다음 북마크로 이동 CTRL + HOME : 문서 처음 CTRL + END : 문서 끝 CTRL + ] : 괄호의 짝 찾기 CTRL + L : 한 라인 잘라내기 CTRL + F3 : 현재 커서의 문자열 찾기 (forward) CTRL + Shift + F3 : 현재 커서의 문자열 찾기 (backward) CTRL + G : 원하는 줄 위치로 이동 CTRL + F : 현재 문서에서 찾기 CTRL + SHIFT + F : 전체 솔.. 2021. 1. 19.
[c#] 프로그램 시작시 중복 체크 [DllImport("user32")] private static extern bool SetForegroundWindow(IntPtr handle); [DllImport("User32")] private static extern int ShowWindow(IntPtr hwnd, int nCmdShow); [DllImport("User32")] private static extern void BringWindowToTop(IntPtr hwnd); // 중복실행방지 var processName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; var processList = System.Diagnostics.Process.GetProc.. 2021. 1. 12.
[c#] STAThread/COM(Component Object Model) 1. STAThread란? Indicates that the COM threading model for an application is single-threaded apartment (STA). - MSDN - 응용 프로그램의 COM 스레딩 모델이 STA (단일 스레드 아파트) 임을 나타냅니다. 무슨 말인지 잘 모르겠어서 구글링을 해보았다. STAThreadAttribute는 기본적으로 Windows 메시지 펌프가 COM 구성 요소와 통신하기위한 요구 사항입니다. 핵심 Windows Forms는 COM을 사용하지 않지만 시스템 대화 상자와 같은 OS의 많은 구성 요소가이 기술을 사용합니다. COM 스레딩 모델은 COM interop을 사용하는 응용 프로그램에만 적용됩니다. COM 스레딩 모델을 단일 스레.. 2021. 1. 12.
[c#] 쓰레드 동기화 클래스 3(AutoResetEvent, ManualResetEvent, CountdownEvent) 1. 신호에 의한 쓰레드 동기화 이전까지 배운 쓰레드 동기화들은 [c#] 쓰레드 동기화 클래스 1(Lock, Monitor) [c#] 쓰레드 동기화 클래스 2(Mutex, Semaphore) 공유 되는 리소스에 락을 걸어서 쓰레드 접근을 제한했다. 하지만 지금 배울 것은 대기중인 쓰레드에 신호를 보내어 쓰레드 흐름을 통제하는 방식이다. 많이 사용되는 방식에는 AutoResetEvent, ManualResetEvent, CountdownEvent, Wait/pulse 등이 있다. * 여기서 Event는 윈도우 프로그래밍에서 말하는 event와 다른 개념 = 쓰레드 동기화에 사용되는 OS리소스이다. 2. AutoResetEvent using System; using System.Threading; names.. 2019. 10. 8.
728x90
반응형