전체보기
-
C# WPF 제목표시줄이 아닌 다른 곳을 클릭해도 윈도우를 움직이게 하는 방법, Make WPF window draggable닷넷/WPF 2021. 12. 3. 11:25
c# 윈폼에서는 뭔가 어렵게 작업했던 것 같은데 wpf는 마우스 이벤트 하나에 DragMove() 를 사용하면 된다. 윈도우.xaml 파일에 MouseDown 이벤트 추가 윈도우. xmal.cs 비하인드 파일에 다음과 같이 작성 private void Window_MouseDown(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) this.DragMove(); }
-
c# 부팅시 자동 시작하는 프로그램, 레지스트리에 등록 또는 삭제 방법닷넷/C# 2021. 11. 30. 11:12
PC가 부팅이 된 후에 사용자가 어떠한 작업을 하지 않아도 바로 프로그램이 실행되게 설정하는 방법으로 이전에 쓴 글이 있는데 이 작업을 코드로 작성하기에는 어려운 부분이 있다. 2018.03.20 - [끄적이는/정보공유] - 윈도우 컴퓨터 시작시 *.exe 프로그램이 자동으로 실행되게 하는 방법 레지스트리 경로 SOFTWARE\Microsoft\Windows\CurrentVersion\Run 가 부팅 시 자동실행이 되는 프로그램들을 관리하는 경로이기 때문에 이 경로에 해당 실행파일을 등록 하거나 삭제하면 되므로 레지스트리에 등록하거나 삭제하는 방법은 코드로 작성하기 쉽다. C#에서 레지스트리 자동실행 경로에 프로그램을 등록하는 방법은 다음과 같다. private void SaveAutoExe() { //..
-
C# WinForms DevExpress SearchLookupEdit에서 그리드 뷰 설정하기닷넷/WinForms 2021. 11. 11. 15:35
데브익스프레스에서 SearchLookupEdit의 데이터소스에 테이블 클래스 리스트를 그대로 넣으면 아래 사진과 같이 그 목록들이 그대로 나온다. 이 목록들을 수정하려면 어떻게 해야 될까? SearchLooupEdit은 콤보박스가 아니다. 따라서 위 상태에서 원하는 칼럼만 나오게 하려고, ComboBox에 있는 DisplayMember와 ValueMember를 찾을 필요는 없다. GridControl처럼 SearchLookupEdit도 디자이너 속성에서 설정하면 된다. GridControl에서는 Run Designer를 통해 들어갔다면, SearchLookupEdit은 Design View를 통해 들어간다. 그리드 디자이너 창에서 Columns 탭을 통해 그리드 뷰를 설정하면 된다. 원하는 칼럼 갯수에 ..
-
C# ChromiumWebBrowser에서 JavaScript 함수 호출과 웹에서 C# 메소드 호출하는 방법닷넷/WinForms 2021. 8. 3. 17:58
C# 윈폼에는 기본 웹브라우저 컨트롤이 있지만 스크립트 오류가 빈번해서 프로젝트의 닷넷프레임워크 버전을 4.6 이상으로 구성할 수 있다면 크로미움웹브라우저를 사용하는 것이 매우매우 좋다. 앞서 ChromiumWebBrowser를 사용하려면 NuGet 패키지 관리에서 cefsharp를 검색한 다음 CefSharp.WinForms를 설치하면 된다. 설치가 끝나면 도구상자에 CefSharp이 자동으로 추가가 되었을 경우 도구상자에서 ChromiumWebBrowser 컨트롤을 폼 디자인에 드래그앤 드랍해서 사용한다. 도구상자에 자동으로 추가가 되지 않았다면 다음과 같이 코드로 폼에 크로미움웹브라우저 컨트롤을 추가한다. public Form1() { InitializeComponent(); InitializeCh..
-
C# 두 위도와 경도 좌표 사이의 거리를 계산 하는 방법닷넷/C# 2021. 7. 19. 16:34
c#에서 두 위도와 경도 좌표 사이의 거리를 계산 하는 방법은 다음과 같다. 첫 번째 방법, NuGet 패키지에서 NEST를 설치한다. 설치 후 다음과 같이 코드를 작성한다. 참고로 단위는 미터이다. // c#에서 두 위도와 경도 좌표 사이의 거리를 계산 하는 첫 번째 방법 GeoCoordinate pin1 = new GeoCoordinate(lat1, lng1); GeoCoordinate pin2 = new GeoCoordinate(lat2, lng2); double distanceBetween = pin1.GetDistanceTo(pin2); 단, 이 방법은 닷넷프레임워크 버전을 타기 때문에 설치가 안 되는 경우 두 번째 방법을 사용하면 된다. 두 번째 방법, NEST가 설치 되지 않는 경우 다음의 ..
-
C# A리스트에서 B리스트에 있는 것을 제외하는 방법(LINQ)닷넷/C# 2021. 7. 13. 11:34
다음은 C#에서 LINQ를 활용하여 A리스트에서 B리스트에 있는 것을 제외하는 방법이다. 수학적 표현으로는 차집합이다. List list = listA.Where(x=> !listB.Select(y=> y.id).Contains(x.id)).ToList(); 이것을 반대로 하면 A리스트에서 B리스트에 있는 것만, 교집합이 된다. List list = listA.Where(x=> listB.Select(y=> y.id).Contains(x.id)).ToList(); 그 외에도 Except, Any, SequenceEqual 등을 이용한 방법이 있으며 다음의 사이트에서 확인할 수 있다. C# 두 개의 List를 비교하는 가장 빠른 방법 c# — 두 개의 List 를 비교하는 가장 빠른 방법 두 가지 대규모 ..
-
C# WinForms DevExpress GridControl 체크박스칼럼에서 체크한 것이 고정이 안 될 때, When the check is not fixed in the check column닷넷/WinForms 2021. 7. 7. 11:00
DevExpress의 GridControl에서 칼럼 하나를 체크박스칼럼으로 만들고, 칼럼의 UnboundType을 Bound로 설정하고, FieldName이 checkcolumn이라고 하면 gridControl.DataSource = list 일때, list.checkcolumn이 있으면 bound 된 값대로 false 혹은 true를 가지게 되어 2021.06.14 - [프로그래밍/C# (WinForms, ASP.NET)] - DevExpress GridControl에서 셀 편집(SetRowCellValue)이 되지 않을 때, 체크가 안 될 때 등 앞서 포스팅 한대로 설정했다는 가정하에 체크박스칼럼의 셀에서 체크박스에 체크하면 체크하는 대로 체크를 하지 않으면 하지 않은대로 설정 된다. 그런데 바운드 ..
-
C# WinForms DevExpress GridControl에서 셀 편집(SetRowCellValue)이 되지 않을 때, 체크가 안 될 때 등닷넷/WinForms 2021. 6. 14. 16:53
DataGridView 대신에 데브익스프레스에서 제공해주는 GridControl를 사용하면 편리한 점이 많아 사용하고 있다. 그런데 하나의 칼럼을 RepositoryItemCheckEdit으로 설정해 두었는데 체크하려고 클릭하면 작동을 하지 않고, 아래의 코드처럼 SetRowCellValue도 먹지 않는다. private void CheckAll() { GridColumn selectColumn = this.gridView1.Columns.ColumnByName("cSelect"); for (int i = 0; i < this.gridView1.DataRowCount; i++) { this.gridView1.SetRowCellValue(i, selectColumn, true); } } 한참을 헤맨 것 같..
-
C# 네이버 지도 API(AI Naver-Directions 5)를 이용해서 거리 구하기닷넷/C# 2021. 5. 13. 18:25
단순히 좌표를 가지고 출발지와 도착지의 차익을 구하는 건 실제 사람이 겪는 거리와 다르다. 따라서 거리를 계산하려면 도로상황과 여러 변수들을 생각해서 계산이 이루어져야 한다. 그러나 일개 개인이 그것을 하기에는 많이 어렵다. 그러나 또 한 편으로는 네이버나 카카오에서 충분히 그런 자료들을 만들어놨음을 그들의 플랫폼을 살펴보면 충분히 알 수 있는 사실이다. (비용만 지불하면 다 되는 세상이다.) 그 중에서 C#에서 네이버 지도 API 중 Directions 5 혹은 15를 사용하는 방법에 대해 기술한다. * 상세 API 문서는 네이버 클라우드 플랫폼에서 제공 된다. driving - Directions 5 쿠키 제공 동의 당사는 고객님의 브라우징 기반 정보를 바탕으로 관련 정보 및 광고 제공을 위하여 지식..
-
C# 폼에서 제목표시줄을 클릭했을 때 클릭이벤트가 발생되게 하는 방법닷넷/WinForms 2021. 5. 13. 18:12
Form에서 Click 이벤트든 Mouse 이벤트든 폼을 클릭했을 때 제목표시줄을 클릭하는 건 반응을 안 한다. 다음 코드를 추가하면 폼에서 제목표시줄을 클릭했을 때의 상황을 코딩할 수 있다. const int WM_NCLBUTTONDOWN = 0x00A1; protected override void WndProc(ref Message m) { base.WndProc(ref m); // no client area if (m.Msg == WM_NCLBUTTONDOWN) { //select tittle area only If (){ this.Cursor = new Cursor(Cursor.Current.Handle); MessageBox.Show("Click"); //} } } 참고로 이 코드는 제목표시줄을..
-
크롬 구글 검색폼이 포커스, 하이라이트 되는 현상기타 정보/정보공유-IT 2021. 4. 15. 13:02
닷넷방에서 다음 이미지와 같이 구글 검색폼에서 글을 입력하면 하이라이팅 되는 현상에 대해 없애는 방법 질문이 올라왔습니다. 인터넷 브라우저를 크롬 브라우저로 사용할 경우에 발생할 수 있으며 크롬 브라우저에서 이 기능을 제공하기 때문에 발생하는 현상이었습니다. 해결방법은 간단합니다. 1. 크롬 브라우저에서 화면 오른쪽 상단에 있는 점세줄을 클릭합니다. 2. 설정을 클릭합니다. 3. 설정페이지가 나오면, 검색을 클릭합니다. 4. 포커스를 검색하면 나오는 를 비활성화 합니다. 1. Open Chrome browser. 2. Open menu by clicking the three vertical dots on the top right corner. 3. Click Settings. 4. On the Setti..
-
MySQL에서 ROW_NUMBER, ROWNUM처럼 번호 매기는 방법, 구한 것을 UPDATE 하기Database/MySQL 2021. 3. 4. 18:23
MSSQL의 ROW_NUMBER나 ORACLE의 ROWNUM처럼 MySQL에서 로우에 번호를 매기는 방법 # @rownum을 초기화하고 사용한다. set @rownum:=0; select @rownum:=@rownum+1, id, newid from tmp; 이와 같이 rownum을 구한 것을 newid에 적용하는 방법, UPDATE 하기 update tmp t1 inner join ( select @rownum:=@rownum+1 as 'rowNum', id from tmp2, (SELECT @rownum := 0) rn #order by orderNum asc ) t2 on t1.id= t2.id set t1.newid = t2.rowNum; select id, newid from tmp; 이때 테이..
-
이게 머선 129 메이플스터리게임/메이플스토리 2021. 2. 25. 14:38
운영진들의 환불 확률 오류라고 쓰고 조작이라고 읽는다 사건으로 저번 주부터 메이플 현황들이 아주 뜨거운 감자였는데 오늘 업데이트 후 환불 보상과 여러 사건들이 겹치면서 메이플스토리에 정떨어진 사람들, 신뢰가 깨진 사람들 대부분이 다른 게임으로 탈선을 하고 있다. 이에 로스트아크 사람들의 홍보(?)로 물타기가 되면서 거의 전부 로스트아크를 하러 가고 있는 것 같다. 거기다 오늘의 메이플 인벤이랑 로스트아크 인벤 ㅋㅋㅋ 아 너무 재미나다. 실시간 보스 드랍율 변경으로 알 수 있는 사실 http://m.inven.co.kr/board/maple/2299/6417618?iskin=maple 속보)실시간 보스 드랍율 주작증명ㅋㅋㅋㅋㅋ 캬 가지가지 한다 증말ㅋㅋㅋㅋㅋㅋ m.inven.co.kr 오늘 업데이트 후 피..
-
asp.net mvc File download (파일 다운로드)닷넷/ASP.NET MVC 2021. 2. 23. 17:36
asp.net mvc 사이트에서 다운로드 버튼을 누르면 파일을 다운로드 받을 수 있게 하려면 index.cshtml에서 (혹은 파일 다운로드가 존재 할 cshtml) 엑셀서식 다운로드 HomeController.cs에서 (혹은 해당 액션과 연결된 Controller) public ActionResult DownloadFile(string filePath) { // 다운로드 되어야 할, 서버에 존재하는 파일 경로 string fullName = Server.MapPath("~/Files/" + filePath); byte[] fileBytes = GetFile(fullName); return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet..