본문 바로가기

전체 글326

[C#] Dictionary의 Value 값으로 Key 찾기 Dictionary Dic = new Dictionary() { {"1", "Mon"}, {"2", "Tue"}, {"3", "Thu"} }; 사전이 위와같이 있다고 가정하자 현재 Dic 의 키 "1" 은 값 "Mon"을 가지고있다. "Mon"으로 키 "1"을 찾고자 할 때에는 아래와 같이 사용하면 된다. var _key = Dic.FirstOrDefault(x => x.Value == "Mon").Key; 출처 : https://miuna3.tistory.com/81 2021. 8. 23.
[C#] class 객체 배열 new 할당 후 배열 요소 null 접근 문제 해결 1. 클래스 객체 배열 선언 후 접근 문제 Class 객체를 배열로 생성 하고 사용 하려면 값 타입 배열 생성과 다르게 배열 요소에 접근 하게 되면 null 에러가 발생 한다. class SomeClass { public int Value = 0; } SomeSomeClass[] aaa = new SomeClass[10]; aaa[0].Value = 99; // 에러 발생 null exception 여기에서 aaa[0].Value 와 같이 0번째 배열에 접근 하려면 null 포인터 예외가 발생 한다. SomeClass[] aaa = new SomeClass[10]; for (int i = 0; i < aaa.Length; i++) { aaa[i] = new SomeClass(); } aaa[0].Valu.. 2021. 8. 23.
[C#] Listview Checkbox 에 checked된 목록 가져오기 리스트뷰를 만들고 리스트뷰에 어떠한 목록들이 생성이되면, 체크한 목록만 저장하거나 가져오고 싶을때에 간단히 foreach 구문을 이용해서 체크한 것들만 가져오면 된다. foreach(ListViewItem Item in listView1.CheckedItems) { if (Item.Checked) { MessageBox.Show(Item.Text); } } 출처: https://akinokaze.tistory.com/154 2021. 8. 11.
[C#] 리스트뷰 Column Header에 체크박스 추가 및 전체선택/해제 기능 1. 리스트뷰 OwnerDraw = true로 변경 (View는 Details) 2. 전체 소스코드 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace myPractice { public partial class Form1 : Form { public Form1() { InitializeComponent(); drawListView(); } private voi.. 2021. 8. 11.
[C#] ListView Column Header에 체크박스 삽입 구글링을 해본 결과 3가지 정도의 방법으로 갈리는데, 그 중 가장 정상적으로 동작하고 깔끔한 방법이다. Owner draw를 이용하여 컬럼 헤더에 체크박스를 삽입하고, 클릭 이벤트에서 컨트롤 하는 방법이다. 타 언어를 찾아보니 체크박스를 강제로 삽입해서 그려주던데 c#은 체크박스렌더러가 따로있다. 윈도우API의 위엄 ㄷㄷㄷ 아주 잘 동작한다. c#은 윈도우 API 보는 재미가 쏠쏠한듯... 1. 컬럼 헤더 0열에 체크박스용 더미를 만든다. 텍스트는 ""로 하면 된다. 너비는 25정도가 무난하다. 2. 속성에서 CheckBoxes와 OwnerDraw를 True로 변경한다. 3. 다음의 이벤트를 등록한다. - DrawColumnHeader - DrawItem - DrawSubItem 이벤트를 줄줄이 등록하는.. 2021. 8. 11.
[C#] ListView의 체크박스(CheckBox) 추가하는 방법 C# 에서 칼럼의 첫번째에 체크박스를 그리는 방법이다. 먼저 listView 열편집(ColumnHeader 컬렉션 편집기)을 아래와 같이 첫번째 칼럼에는 텍스트는 빈공백으로 준다.열너비는 30이나 25 정도로 주면 된다. 소스코드에 직접 적어주려면 listView1.Columns[0].Width = 25; DB에서 가져온 정보를 listView 화면에 출력할 때 아래와 같이 처리를 해준다. listView1.Items.Clear(); if (R.HasRows) { int i = 0; while (R.Read()) { i = i + 1; ListViewItem lvt = new ListViewItem(); //lvt.Text = i.ToString(); // 첫번째 열은 값을 넣지 않는다. checkbox.. 2021. 8. 10.
[C#] ListView 버튼 및 컨트롤 추가 https://www.codeproject.com/Articles/9188/Embedding-Controls-in-a-ListView Embedding Controls in a ListView How to use arbitrary controls in ListView cells. www.codeproject.com 해당소스의 ListViewEx.cs 파일을 복사해서 프로젝트에 추가하고(최상단, 폴더에넣으면 오류나더라) 폼에서 생성한 ListView의 Parent를 ListViewEx로 수정해준다. for (int iCount = 0; iCount < 50; iCount++) { string sName = "안녕하세요" + iCount.ToString(); string sPhone = "02-1234-56.. 2021. 8. 10.
[C#] LISTVIEW 기능 분석 ListView는 목록을 표시하는 컨트롤이다. ListView 를 Layout 에 추가하는 방법은 도구상자에게 ListView 를 Drag 해서 뿌려질 화면위에 놓는다. 폼에서 설정해주면 *.Designer.cs 파일에 설정값이 저장된다. this.listView1.GridLines = true; this.listView1.View = System.Windows.Forms.View.Details; 폼 UI 에서 설정하지 않고 사용자 소스파일에서 listView1.View = View.Details; 라고 직접 설정해줘도 된다. FullRowSelect : 항목이 선택될 때 하위 항목까지 한줄 전체를 선택한다. MultiSelect : 복수 개의 항목을 선택할 수 있는지를 지정한다. LabelEdit : .. 2021. 8. 10.
[C#] Listview 에 Button, Progressbar, TextBox Control 삽입 예제.. Main -사용한 컨트롤 : Button 1개, Listview 1개 전체 소스 코드 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace CSharp_ListView { public partial class Form1 : Form { //컨트롤 해제 변수... List ltControl = new List(); public Form1() { InitializeComponent(); } void ControlDisp.. 2021. 8. 10.
[C#] ListView 실습 2.4 실습: ListView 이번에는 ListView 사용 방법을 알아봅시다. 앞으로 다양한 컨트롤들의 사용 방법을 알아보지만 각각의 컨트롤의 사용법은 매우 다양하기 때문에 모든 것을 다룰 수는 없습니다. 실제 여러분들도 모든 컨트롤의 모든 기능을 익혀야 하는 것도 아닙니다. 필요하면 원하는 컨트롤을 찾고 이를 사용하는 방법을 익힐 수 있게 노하우를 쌓는 것이 중요합니다. 보다 자세한 사항은 MSDN 사이트를 참고하세요.(MSDN의 ListView) ListView 컨트롤은 컬럼을 지정하여 ListView의 스키마를 정의할 수 있습니다. 그리고 서브 아이템들로 구성한 ListViewItem 개체를 항목에 추가할 수 있습니다. 여기에서는 회원의 ID, 이름, 나이로 구성한 ListView를 디자인 한 후.. 2021. 8. 10.