나는 윈폼에서 데이터 그리드 뷰의 첫 번째 행의 첫 두 컬럼에 문자열을 포함하는 자리를 표시해야합니다. 자리 표시자는 DataGrid가 비어있을 때 표시됩니다.표시 자리 표시 자 텍스트
답변
당신은 자신을 CellPainting
이벤트를 처리 장소 홀더를 그릴 필요 :
void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex < 0 || e.ColumnIndex < 0) /*If a header cell*/
return;
if (!(e.ColumnIndex == 0 || e.ColumnIndex == 1) /*If not our desired columns*/
return;
if(e.Value == null || e.Value == DBNull.Value) /*If value is null*/
{
e.Paint(e.CellBounds, DataGridViewPaintParts.All
& ~(DataGridViewPaintParts.ContentForeground));
TextRenderer.DrawText(e.Graphics, "Enter a value", e.CellStyle.Font,
e.CellBounds, SystemColors.GrayText, TextFormatFlags.Left);
e.Handled = true;
}
}
이것이 맞습니다. –
고맙습니다. – biff
그래서, 당신이 (Textbox
에 대한 작업)을 개선하고 dataGrid.Text
에 대해 변경할 수 있습니다
Textbox myTxtbx = new Textbox();
myTxtbx.Text = "Enter text here...";
myTxtbx.GotFocus += GotFocus.EventHandle(RemoveText);
myTxtbx.LostFocus += LostFocus.EventHandle(AddText);
public void RemoveText(object sender, EventArgs e)
{
if (myTxtbx.Text == "Enter text here...") {
myTxtbx.Text = "";
}
}
public void AddText(object sender, EventArgs e)
{
if(String.IsNullOrWhiteSpace(myTxtbx.Text))
myTxtbx.Text = "Enter text here...";
}
참고 : 문자열 myTxtbx.Text = "Enter text here...";
및 if (myTxtbx.Text == "Enter text here...")
"여기에 텍스트를 입력합니다 ... "은 같아야합니다.
** 1) ** 편집 모드로 들어가기 전에 'TextBox'가 없습니다. ** 2) ** TextBox에 텍스트를 지정하면 안됩니다. 당신은 장소 홀더 페인트해야합니다 –
내 대답은 최고 아니지만, 사용법에 대한 아이디어를 썼습니다. –
- 1. 자리 표시 자 텍스트 속성
- 2. 자리 표시 자 텍스트 맞춤
- 3. 자리 표시 자 텍스트 애니메이션하기?
- 4. 자리 표시 자 텍스트 서식
- 5. 자리 표시 자 텍스트 VB6
- 6. UIButton 자리 표시 자 텍스트
- 7. IE의 자리 표시 자
- 8. HTML 자리 표시 자
- 9. 텍스트 필드에 자리 표시 자 텍스트 비교
- 10. QML 텍스트 편집기의 자리 표시 자 텍스트
- 11. 켜짐 becomeFirstResponder 자리 표시 자 표시
- 12. ino_t의 자리 표시 자
- 13. 자리 표시 자
- 14. 빈 자리 표시 자?
- 15. 데이터 자리 표시 자
- 16. 장고 자리 표시 자
- 17. SVG 자리 표시 자
- 18. PMySQL의 자리 표시 자
- 19. ContentEditable 자리 표시 자
- 20. QTableWidget의 자리 표시 자
- 21. 자리 표시 자 함수
- 22. 장고 자리 표시 자
- 23. 자리 표시 자 HTML5가
- 24. UITextField 자리 표시 자
- 25. 자리 표시 자
- 26. Xcode IBInspectable 자리 표시 자
- 27. 텍스트 영역의 자리 표시 자? (ExtJS)
- 28. as3 텍스트 필드 자리 표시 자
- 29. MFC CEdit 자리 표시 자 텍스트
- 30. 스위프트 - - 자리 표시 자 긴 텍스트 중간
당신이 정말 Label 컨트롤을 의미합니까? 아니면 단순히 두 셀의 텍스트 값을 설정 하시겠습니까 ?? – TaW
실제로 그 셀에 자리 표시 자로 레이블을 배치하려고합니다. 그래서 DataGridview가 비어 있으면 해당 셀에 표시 할 수 있습니다. – biff
새 코멘트를 토대로 질문 제목과 설명을 변경하십시오. 첫 번째 2 열의 자리 표시 자 텍스트를 그릴 수 있습니다. 또한 버튼 클릭이 필요없는 것 같습니다. 셀이 비어있을 때 셀에 표시하고 싶을뿐입니다. –