DataGridView의 ShowCellToolTips 프롭퍼티가 True이면, 셀에 ToolTip이 표시됩니다. ShowCellToolTips 프롭퍼티는 디폴트값이 True로써 셀의 폭이 너무 좁아서 텍스트가 표시 다 할 수 없을 때에, 그 텍스트의 내용이 ToolTip으로서 표시됩니다.
ToolTipText 프롭퍼티를 사용한다.
셀에 표시하는 ToolTip의 내용을 지정하려면 셀(DataGridViewCell)의 ToolTipText 프롭퍼티를 사용하면 됩니다.
헤더 셀에 표시하는 ToolTip도 헤더 셀을 취득하고, 보통 셀과 같이 ToolTipText 프롭퍼티로 설정할 수 있습니다. 단지, 열헤더에 표시하는 ToolTip은, DataGridViewColumn.ToolTipText 프롭퍼티에서도 설정할 수 있습니다.
'셀에 표시하는ToolTip을 설정한다.
DataGridView1(0, 0).ToolTipText = "이 셀은 변경할수 없습니다."
'열헤더에 표시하는ToolTip을 설정한다.
DataGridView1.Columns(0).ToolTipText = "이 행에는 숫자를 입력할수 있습니다."
'행헤더에 표시하는 ToolTip을 설정한다.
DataGridView1.Rows(0).HeaderCell.ToolTipText = "이 행의 셀은 변경할수 없습니다."
CellToolTipTextNeeded 이벤트를 사용한다.
다수의 셀에 ToolTip을 설정하는 경우는, 하나 하나의 셀의 ToolTipText 프롭퍼티를 설정하는 방법은, 효율적이라고는 할 수 없습니다. 이러한 경우는, CellToolTipTextNeeded 이벤트를 사용하면 좋을 것입니다.
셀의 현재 상태에 의해서 ToolTip에 표시시키는 문자열을 변경시키고 싶은 경우에도, CellToolTipTextNeeded는 도움이 됩니다.
다만 이 이벤트는, DataSource 프롭퍼티가 설정되어 있는지, VirtualMode 프롭퍼티가 True일 때 밖에 발생하지 않습니다.
이하의 예에서는, 단순하게 셀의 위치를 ToolTip으로 표시하고 있습니다.
Private Sub DataGridView1_CellToolTipTextNeeded(ByVal sender As Object, _
ByVal e As DataGridViewCellToolTipTextNeededEventArgs) _
Handles DataGridView1.CellToolTipTextNeeded
e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString()
End Sub
이 방법에서는 헤더에도 ToolTip이 표시됩니다. 헤더의 경우는, 행 헤더이면 [e.ColumnIndex]가
-1에, 열헤더이면 [e.RowIndex]가 -1이 됩니다.
'VB.NET' 카테고리의 다른 글
[TIPS] DataGrid를 스크롤 시켰을 때, 다른 DataGrid를 동시에 스크롤 시키는 방법 (0) | 2012.10.22 |
---|---|
[TIPS] DataGridView의 행을 유저가 삭제할 수 없게 하는 방법 (0) | 2012.10.22 |
[TIPS] DataGridView에서 Enter 키를 누르면 옆의 셀에 포커스가 이동되도록 하는 방법 (0) | 2012.10.22 |
[TIPS] DataGridView로 셀의 값이 null이나 DBNull.Value때에 표시하는 텍스트를 변경하는 방법 (0) | 2012.10.22 |
[TIPS] 폴더와 파일의 변경을 감시하는 방법 (0) | 2012.10.22 |