내 Winform 4.5 앱에서 첫 번째 열이 링크 열로 DataGridView
입니다. 선택한 링크 셀의 링크 색을 흰색으로하고 싶습니다. 기본적으로 선택된 행 (또는 셀)의 배경색은 파란색이고 모든 링크의 ForeColor
도 파란색이므로 사용자가 행 (또는 링크 셀)을 선택하면 링크의 텍스트를 읽을 수 없습니다. 다음 코드를 작성하려고했지만 선택한 링크 셀의 링크 색상이 전혀 변경되지 않습니다.DataGridView의 DataGridViewLinkColumn에서 SelectionForeColor가 작동하지 않습니다.
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
foreach (DataGridViewLinkCell cell in ((DataGridView)sender).SelectedCells)
{
if (cell.ColumnIndex == 0)
{
if (cell.Selected)
{
cell.Style = new DataGridViewCellStyle()
{
SelectionForeColor = SystemColors.HighlightText
};
}
}
}
}
그런 다음 위 코드를 다음과 같이 수정했습니다.
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
foreach (DataGridViewLinkCell cell in ((DataGridView)sender).SelectedCells)
{
if (cell.ColumnIndex == 0)
{
if (cell.Selected)
{
cell.LinkColor = SystemColors.HighlightText;
}
}
}
}
내가 중단 점을 설정하여 코드를 모두 테스트 : 흰색도 선택되지 않은 링크 세포가 해당 링크의 배경색 이후 읽을 수 없습니다 될 수있다 - 그러나 흰색에 대한 모든 링크의 링크 색상을 변경 foreach 루프 내부에서 링크 셀을 선택합니다. 코드가 정확히 foreach 루프의 반복을 정확히 통과한다는 것을 알았습니다. 또한, 나는 DataGridView
가 행 선택에 다음과 같습니다 기본적으로 DataGridViewLinkColumn
편집 의 기본 설정으로 변화를 만들어 없다.
더 명확한 설명을 위해 마지막에 내 "편집"을 참조하십시오. – nam
@nam 내 ** 수정 **을 참조하십시오. –
도움을 주셔서 감사합니다. 여전히 작동하지 않습니다. 행 (또는 주먹 열의 셀)을 선택하면 위의 원래 게시물의 그림 1과 동일한 결과가 표시됩니다. 나는 놀랐다 - 마이크로 소프트는 링크 열 (또는 그 열에있는 셀)의 링크 열의 이상한 기본 색칠 표기 형식을 알아 차림에 틀림 없다. – nam