1. 소스
/// <summary>
/// 주어진 DataGridView 컨트롤에 수직스크롤바가 있는지의 여부를 구한다.
/// </summary>
/// <param name="dgv"></param>
/// <returns>
/// - true : 수직스크롤바가 있다.
/// - false : 수직스크롤바가 없다.
/// </returns>
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.ToString());
}
return false;
}
2. 사용예제
/// <summary>
/// 리스트의 칼럼의 크기를 조정한다.
/// </summary>
void ResizeColumn()
{
try
{
int width = PN_T.Width - (40 + 60 + 100 + 180);
int c = -1;
if (KssUtils.FuncsOfCtrl.ExistsVScroll(DGV_LIST))
width -= SystemInformation.VerticalScrollBarWidth;
DGV_LIST.Columns[++c].Width = 40;
DGV_LIST.Columns[++c].Width = 60;
DGV_LIST.Columns[++c].Width = 100;
DGV_LIST.Columns[++c].Width = width;
DGV_LIST.Columns[++c].Width = 180;
}
catch (Exception ex)
{
KLog.Write(ex.ToString());
}
}
'유용한 정보' 카테고리의 다른 글
[C#] 컨트롤에 들어갈 문자열의 폭과 높이 구하기 (0) | 2025.04.16 |
---|---|
[C#] 컨트롤에 들어갈 문자열에서 가장 큰 폭과 높이 구하기 (0) | 2025.04.16 |
[C#] DataGridView 의 RowHeader 에 일련번호 자동생성하기 (0) | 2025.04.16 |
[C#] DataGridView 의 데이터 검색하기 (0) | 2025.04.16 |
[C#] DataGridView에서 행이 비어있는지 체크 (0) | 2025.04.16 |