반응형 C# 썸네일형 리스트형 CodeMaid - Visual Studio (Plugin) 애드온 추천 Visual Studio는 개발자가 가장 선호하는 개발 도구 중 하나가 아닐까 합니다. 저는 요즘은 vs code와 병행해서 사용 중입니다. Visual Studio 강력한 기능들은 별도의 추가 기능을 필요로 하지 않을 정도죠. 예전에는 VisualAssist를 꼭 설치해 사용했지만 C#으로 넘어오면서 기본 기능으로도 만족스럽게 사용하고 있습니다. VS에서 제공하는 C# 기능 중 하나가 문서 서식을 자동으로 정리해 주는 기능인데 이 기능이 없는 것 보다는 좋긴 하지만 약간 아쉬움이 생길 때가 있는데 최근에 사용하는 추가 addon이 CodeMaid라는 도구 입니다. 설치 방법도 간단한데, 직접 홈페이지에 방문하여 설치 파일을 다운로드 받아도 되고 VS에서 검색 후 설치하셔도 됩니다. 설치 .. 더보기 C# :: byte[] -> 구조체 , 구조체 -> byte(바이트배열 구조체간 할당) //byte 배열을 구조체로 public static object ByteToStructure(byte[] data, Type type) { IntPtr buff = Marshal.AllocHGlobal(data.Length); // 배열의 크기만큼 비관리 메모리 영역에 메모리를 할당한다. Marshal.Copy(data, 0, buff, data.Length); // 배열에 저장된 데이터를 위에서 할당한 메모리 영역에 복사한다. object obj = Marshal.PtrToStructure(buff, type); // 복사된 데이터를 구조체 객체로 변환한다. Marshal.FreeHGlobal(buff); // 비관리 메모리 영역에 할당했던 메모리를 해제함 if (Marshal.SizeOf(obj) .. 더보기 [C#/WPF] 버튼 처리 꿀팁 Dispatcher 클래스 : Invoke 메소드를 사용해 크로스 스레드(Cross Thread) 처리하기 ■ Dispatcher 클래스 : Invoke 메소드를 사용해 크로스 스레드(Cross Thread) 처리하기 ---------------------------------------------------------------------------------------------------- using System.Threading; using System.Windows.Controls; using System.Windows.Threading; ... private TextBlock textBlock; ... ThreadStart threadStart = delegate() { for(int i = 0; i < 10; i++) { Thread.Sleep(100); Dispatcher.Invoke(Dispa.. 더보기 c#에서 IE 컨트롤하기 C#에서 웹브라우져를 컨트롤하는 방법은 크게 직접 IE와 같은 외부 웹브라우져를 띄워서 이를 컨트롤 하는 것과 윈폼과 같은 C# 프로그램 내에 WebBrowser 컨트롤을 삽입하고 이를 제어하는 방식이 있다. 여기서는 전자의 방식을 알아본다. C#에서 IE를 띄우기 위해서는 Shell Document Object and Control Library라고 불리우는 SHDocVw.dll 을 참조하여 사용한다. 이 DLL은 프로젝트 레퍼런스 추가에서 COM 탭에서 추가하게 되는데, COM DLL이므로 Interop 방식으로 사용하게 된다. (주: COM 탭에 없는 경우 Browse 해서 Windows 폴더 밑의 System32 에서 찾아 추가) IE를 띄우기 위해서는 아래 예제에서 처럼 SHDocVw.Inter.. 더보기 이전 1 2 다음