WinForm
-
[C#] - WinForm Edge WebView2 사용방법 및 팁.NET/CSharp 2022. 3. 24. 15:14
최근에 Windows 10 업데이트가 되면서 아래와 같이 WebView2 런타임이 설치된 걸 볼 수 있습니다. 필자는 최근에 회사 PC 윈도우를 다시 설치하여 2022-03-20 날짜로 나오지만 해당 날짜보다 이전에 설치된 걸로 파악이 됩니다. Windows 10 Enterprise 기준입니다. Microsoft Edge supported Operating Systems https://docs.microsoft.com/en-us/deployedge/microsoft-edge-supported-operating-systems 윈도우를 최신으로 업데이트하여도 Microsoft Edge WebView2 런타임이 설치가 되어 있지 않을 경우 아래의 경로에서 설치 파일을 다운로드하여 설치합니다. 필자의 Windo..
-
-
[C#] - WinForm 특정 윈도우 Show, TopMost 처리.NET/CSharp 2019. 10. 7. 18:02
웹 브라우저에서 웹 소켓을 통하여 특정 프로그램을 실행하는 프로그램을 개발 중에 있다. 해당 프로그램은 프로그램을 실행 후에는 실행된 프로세스와 소켓 통신(TCP/IP)을 통하여 데이터를 주고받고 프로세스에서 데이터를 받으면 웹 소켓을 통하여 데이터를 웹 브라우저 쪽으로 내려주는 구조로 되어있다. 또 프로세스가 하나 이상 실행이 되지 않는 구조로 되어 있다. 그러다 보니 실행되어 있는 상태에서 다시 실행 요청을 하였을 때 해당 프로세스의 메인 윈도우가 축소되어 있거나 다른 윈도우에 가려져 있을 때 처리가 필요하였다. 다행히 User32.dll IsIconic 함수를 통하여 프로세스의 메인 핸들을 넘겨 해당 프로세스 메인 핸들의 창이 최소화 여부를 알 수 있었다. 프로세스의 메인 윈도우가 최소화 되어 있을..
-
[C#] - WinForm PropertyGrid 에 표시되는 Enum 값 이름 변경하기.NET/CSharp 2018. 12. 25. 11:44
PropertyGrid 를 활용하여 프로퍼티 설정하는 다이얼로그 창을 개발하던 중 Enum 에 해당 하는 값을 UI에 그대로 표현 하기에는 적당하지 않아 변경하는 방법을 찾아 보았다. 기본적으로 PropertyGrid 에 속성을 표현하기 위해서는 SelectedObject Property를 사용한다. 자세한 활용법은 MSDN을 참고하시기 바란다. MSDN PropertyGrid https://msdn.microsoft.com/ko-kr/library/aa302326.aspx PropertyGridForm using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Draw..
-
[C#] - WinForm Form Esc 키 눌렀을때 종료하기.NET/CSharp 2018. 9. 13. 14:22
Form에서 해당 키를 받기 위해서는 그림1과 같이 속성 창에서 KeyPreview 속성을 True로 설정해야 한다. KeyPreview 속성을 True로 설정후에는 그림2와 같이 KeyDown 이벤트롤 등록한다. Esc 키가 눌렀을때 Form.Close() 함수를 호출한다. private void TestForm_KeyDown(object sender, KeyEventArgs e) { if ((Keys)e.KeyValue == Keys.Escape) { this.Close(); } }
-
[C#] - WinForm 사용자 정의 컨트롤 사용하기.NET/CSharp 2018. 8. 26. 10:08
사용자 정의 컨트롤은 보통 사용자 만의 컨트롤을 만들거나 ActiveX 컨트롤 을 만들 때 주로 사용됩니다. 개발하면서 겪었던 특징점들을 정리해보고자 한다. 1. Load 이벤트 보통 Load 이벤트는 Form에 추가하여 주로 사용합니다. Form에 추가하여 사용할 경우에는 UserControl 에서 Load 이벤트를 정의하여 사용할 경우는 많지 않다. Load 이벤트가 필요하신분은 아래의 코드를 참고 하시기 바랍니다. 해당 Form 에서 Load 이벤트를 받으면 되기 때문이다. 해당 Load 이벤트는 UserControl 을 ActiveX 컨트롤로 만들어 Internet Explorer 브라우저에 올릴경우에 사용된다. 개발하면서 겪었던 에러 //////////////////////////////////..
-
[C#] - WinForm 컨트롤 사용하기.NET/CSharp 2018. 8. 26. 09:00
TabControl - 탭 컨트롤 탭 버튼에 이미지 추가하기 ImageList imgList = new ImageList(); imgList.Images.Add("1", Resources.Image1); imgList.Images.Add("2", Resources.Image2); int tabCount = _tabControl.TabCount; for (int index = 0; index < tabCount; index++) { _tabControl.TabPages[index].ImageKey = (index + 1).ToString(); } _tabControl.ImageList = imgList; - Tabless TabControl public class TablessControl : TabCon..
-
[C#] - WinForm 특정 사이즈 컨트롤 만들기.NET/CSharp 2017. 10. 21. 11:02
특정 사이즈 컨트롤 만들기 C# WinForm 에서 사용하는 Control 크기 단위는 Pixel 단위이므로 Pixel 값을 구합니다. Pixel = Millimeter / 25.4 * Dpi (96) A4 용지 크기의 컨트롤 가로 - 210mm 세로 - 297mm - A4용지 크기의 컨트롤 크기 구하기 int Dpi = 96; int width = (int)(210 / 25.4 * Dpi); int height = (int)(297 / 25.4 * Dpi); [ 참고 ] enginhak.tistory.com/entry/point-inch-pixel-mm-%EB%8B%A8%EC%9C%84-%EA%B4%80%EA%B3%84