728x90
728x90
SMALL

2025/04/16 17

[C#] DataGridView 에 수직스크롤바가 있는지의 여부 판단하기

1. 소스/// /// 주어진 DataGridView 컨트롤에 수직스크롤바가 있는지의 여부를 구한다. /// /// /// /// - true : 수직스크롤바가 있다. /// - false : 수직스크롤바가 없다. /// bool ExistsVScroll(DataGridView dgv) { try { int height; if (dgv.Rows.Count > 0) height = dgv.Rows[0].Height; else height = dgv.ColumnHeadersHeight; return height * dgv.Rows.Count >= (dgv.Height - dgv.ColumnHeadersHeight); } catch (Exception ex) { KLog.Write(ex.ToStrin..

유용한 정보 2025.04.16

[C#] DataGridView 의 RowHeader 에 일련번호 자동생성하기

/// /// DataGridView 의 RowHeader 에 일련번호 자동생성 /// /// DataGridView 컨트롤 /// 이벤트정보 static void DGV_AutoRowIndex(object sender, DataGridViewRowPostPaintEventArgs e) { DataGridView dgv = sender as DataGridView; try { if (dgv != null && dgv.Rows.Count > 0 && e.RowIndex >= 0) { String rowIdx = (e.RowIndex + 1).ToString(); StringFormat centerFormat = new StringFormat() { Alignment = StringAlignment.Ce..

유용한 정보 2025.04.16

[C#] DataGridView 의 데이터 검색하기

/// /// DataGridView 컨트롤에서 데이터를 검색한다. /// 검색하려는 데이터의 개수와 인덱스의 개수는 같아야 한다. /// /// DataGridView 컨트롤 /// 검색하려는 데이터 /// 검색하려는 열의 인덱스 /// 검색 시작 행의 인덱스 /// 검색된 데이터 List FindDataGridView(DataGridView dgv, IEnumerable values, IEnumerable columns, int startindex = 0) { List results = new List(); if (dgv == null || dgv.RowCount || values == null || values.Count() || columns == null || columns.Count() |..

유용한 정보 2025.04.16

[C#] DataGridView에서 행이 비어있는지 체크

/// /// 주어진 행이 비어있는지 체크한다. /// /// 행번호(zero-based) /// 주어진 행이 비어있으면 참, 그렇지않으면 거짓 bool IsNullOrEmpty(DataGridViewRow row) { try { foreach (DataGridViewCell cell in row.Cells) { string cellvalue = cell.Value as string; if (cellvalue != null && !string.IsNullOrEmpty(cellvalue.Trim())) return false; } } catch (Exception ex) { KLog.Write(ex.ToString()); } return true; }

유용한 정보 2025.04.16

[C#] TextBox 컨트롤에 수직스크롤바가 있는지의 여부 판단하기

1. 소스/// /// 주어진 TextBox 컨트롤에 수직스크롤바가 있는지의 여부를 구한다. /// /// TextBox 컨트롤 /// /// - true : 수직스크롤바가 있다. /// - false : 수직스크롤바가 없다. /// bool ExistsVScroll(TextBox txt) { try { StringBuilder sb = new StringBuilder(txt.Text); string lastline = txt.Lines[txt.Lines.Count() - 1]; SizeF size; using (Graphics g = Graphics.FromHwnd(txt.Handle)) { if (string.IsNullOrWhiteSpace(lastline)) sb.Append("1"); s..

유용한 정보 2025.04.16

[C#] 임의의 컨트롤을 사용하여 폼을 이동하자

1. 소스/// /// WinForm에서 사용자가 정의한 타이틀바에 의해서 폼을 이동 한다. /// /// 폼 /// 사용자정의 타이틀바에 속해 있는 컨트롤목록 /// 마우스커서void SetMovingForm(this Form form, Control[] triggerControls, Cursor movingCursorOrNull = null) { bool mouseDown = false; Point lastMousePoint = new Point(); Cursor movingCursor; if (movingCursorOrNull == null) movingCursor = Cursors.NoMove2D; else movingCursor = movingCursorOrNull; Dictionary ol..

유용한 정보 2025.04.16

[C#] 문자입력컨트롤에 워터마크 지원

예제1) TextBox/// /// Watermark를 지원하도록 한다. /// /// 입력컨트롤 /// Watermark문자열 /// 문자열 색상 /// 초기값 /// 워터마크를 기울임체로 할 것인지의 여부 /// 워터마크가 값의 뒤에 붙는지의 여부 void SetHintText(this TextBox textBox , string hintText , Color hintTextColor , string initvalue = "" , bool italic = false , bool is_tail = false) { var foreTextColor = textBox.ForeColor; Font font; if (hintTextColor == Color.Empty) hintTextColor = Syste..

유용한 정보 2025.04.16
728x90
728x90
LIST