본문 바로가기

.NET23

C# 구조체 바이너리 파일 읽기 C#에서 구조체 파일을 읽어 처리하는 간단한 예제이다. 구조체 바이너리 파일은 C++ MFC로 제작이 되어 있었다. C++ 구조체는 아래와 같다. typedef struct { TCHAR Name[20]; TCHAR ID[20]; TCHAR Passwd[20]; uint Grade; } stUserInfo; 위와 같은 구조체로 만들어지 바이너리 파일을 C#에서 읽어 클래스 리스트에 넣도록 처리 예정이다. C#에서는 아래와 같은 구조체가 C++ 구조체와 같은 모습니다. [Serializable] [StructLayout(LayoutKind.Sequential)] public struct UserInfo { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)] pu.. 2022. 8. 10.
Codejock RibbonBar 예제 및 CXTPControlEdit spin message 예제는 Codejock 설치 경로에 있는 Samples\Ribbon\RibbonControls 프로젝트를 참고 하면 된다. Codejock RibbonBar에 Edit 컨트롤을 올려 놓고 spin 버튼을 추가해서 사용을 해봤다. CXPTControlEdit을 사용하고 RibbonBar에 추가하는 방법은 아래와 같다. CXTPRibbonGroup* pGroupSearch = pTabEdit->AddGroup(ID_GROUP1); CXTPControlEdit* pControlEdit = DYNAMIC_DOWNCAST( CXTPControlEdit, pGroupSearch->Add(xtpControlEdit, ID_EDIT1)); if (pControlEdit) { pControlEdit->SetEditTex.. 2022. 7. 15.
Telerik GridViewSpreadExport 이용 방법 Telerik 버전 2022.1.222.40를 사용하고 있다. RadGridView의 내용을 excel, csv 파일로 export 하는 기능을 제공한다고 예제에 있는데 참고 사이트와 같이 코드를 작성하면 참조를 추가하라는 dll이 없어서 당황을 했다. 추후 export 기능을 사용할 때 참고를 위해서 기록을 남긴다. https://docs.telerik.com/devtools/winforms/controls/gridview/exporting-data/export-to-csv Export to CSV - WinForms GridView Control | Telerik UI for WinForms Controls / GridView / Exporting Data This method offers excel.. 2022. 6. 27.
Telerik RadGridView drag and drop 할 때 row index 확인 방법 Telerik 예제를 보고 GridView의 Drag and drop 테스트 프로그램을 개발하는 중에 drop을 할 때 row index 찾는 방법을 알 수가 없어서 고생을 했다. 검색을 해 보다가 찾은 방법을 기록으로 남긴다. 나중에 또 이용을 할 때 도움이 되길 바라면서 말이다. drop 함수의 코드이다. private void gridPoint_ProcessDragDrop(object sender, RadDropEventArgs e) { SnapshotDragItem draggedSnapshot = e.DragInstance as SnapshotDragItem; if (draggedSnapshot == null) { return; } GridDataRowElement rowElement = drag.. 2022. 6. 27.
Telerik GridView Drag and Drop Example Telerik GridView를 사용해서 Drag and drop 기능을 사용할 때 아래 싸이트에 나오는 방식으로 잘 되지 않아서 git에 올라와 있는 예제 소스를 다운 받아 빌드를 해봤다. https://www.telerik.com/blogs/extending-radgridview-to-enable-row-drag-and-drop-functionality Extending RadGridView to Enable Row Drag and Drop Functional Learn how to extend the WinForms RadGridView control to give the users the ability to drag and drop full rows of data between grids. Dow.. 2022. 6. 3.
Telerik RadGrid Refresh, 동적으로 Binding data 변경 후 GridView Refresh Telerik의 RadGridView를 사용하고 있는데 DataSource로 바인딩한 정보를 동적으로 변경하면 화면에 바로 업데이트 되지 않는다. 가장 기본적인 방법은 DataSource = null로 초기화를 하고 다시 바인딩을 하는 것이다. 이렇게 하면 당연히 동적으로 변경된 데이터가 화면에 보일 것이다. 하지만 이렇게 하면 화면이 깜박거리거나 데이터가 많으면 표시되는 속도가 느린 문제가 있다. WPF나 Winform 모두 처리하는 방법은 같다. 검색을 해보니 아래와 같은 정보를 찾을 수 있었다. https://docs.telerik.com/devtools/winforms/controls/gridview/populating-with-data/reflecting-custom-object-changes-.. 2022. 6. 3.
C# winform 프로젝트에서 "디자이너 보기"가 사라지는 문제 해결 왜 "Form1.cs"에서 "디자이너 보기" 표시가 사라지는는 문제가 발생한 것인지 원인은 모르겠다. 하지만 해결 방법은 찾았다. 디자이너가 보이지 않는 경우의 비정상 프로젝트의 모습니다. Form1.cs를 선택해서 팝업 메뉴를 보면 아래와 같이 디자이너 보기 메뉴가 없는 것을 확인할 수 있다. 정상적인 프로젝트의 모습은 아래와 같다. 그리고 이때의 팝업 메뉴에는 디자이너 보기를 볼 수 있다. 그래서 프로젝트 파일을 열어 차이점을 확인해 보니 아래와 같이 차이가 존재한다. 비정상 Form1.cs 정상 Form Form1.cs 비정상(디자이너 보기가 사라진 경우)인 경우에는 SubType이 사라진 것을 확인 할 수 있다. 따라서 프로젝트 파일을 열어서 Form 추가하면 정상적으로 디자이너 보기 기능을 이용.. 2022. 5. 18.
Telerik Winform GridView Scroll 표시 세팅 방법 RadGridView Control 속성에서 아래와 같이 AutoScroll = true로 세팅한다. 그리고 AutoSize = false, AutoSizeColumnsMode = None, AutoSizeRows = fasle로 처리하니 자동 scroll이 표시가 되었다. Model class를 만들고 DataSourse에 연결해서 사용을 했다. 2022. 4. 14.
C# WinFrom에서 Telerik의 RadSplitContainer사용하는 방법 1) Form을 만든다. 도구 상자에서 RadSplitContainer 선택한다. 2) 도구 상자에서 RadSplitContainer를 form 위에 올려 놓는다. 3) RadSplitContainer 속성에서 Dock을 Fill로 변경한다. 4) RadSplitContainer Tasks 메뉴를 실행한다. RadSplitContainer의 오른쪽 위에 있는 작은 화살표 모양을 클릭하면 된다. 5) Add Panel을 눌러 RadSplitContainer에 panel을 추가한다. 6) Horizontal / Vertical을 눌러 split의 방향을 변경한다. 7) 각각의 panel에 원하는 control을 도구상자에서 선택에 추가한다. 2022. 4. 12.
LIST