回答
您需要处理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. 如何在tableview单元格显示之前显示占位符?
- 2. 显示占位符文本
- 3. 在表单文本字段中显示占位符
- 4. jQuery的占位符,显示占位符,直到文本输入
- 5. 在datagridview单元格中显示其他文本
- 6. 在datagridview单元格中显示长文本
- 7. jeditable在编辑文本框中显示占位符文本
- 8. UITableView中的占位符单元格
- 9. WordPress:通过文章格式显示占位符文本
- 10. 突出显示datagridview单元格中文本的一部分
- 11. 显示占位符在recyclerview
- 12. 在DataGridView中显示单元格内的图标和字符串
- 13. 在IE和Firefox中不显示文本输入占位符
- 14. 在空排序中显示占位符文本与jQuery UI
- 15. 如何在SAPUI5中以粗体显示占位符文本
- 16. 在jQuery UI中显示占位符空文本
- 17. 想要在占位符中显示文本可选使用php
- 18. 在空输入字段中显示占位符文本
- 19. DataGridView不显示单元格数据
- 20. iOS文本字段不显示占位符文本
- 21. 在IE8中不显示占位符Bootstrap
- 22. 占位符值未在Chrome中显示?
- 23. datagridview的格式单元格显示vb.net中的列文本的子串
- 24. 富占位符无法在占位符中输入文本
- 25. 占位符文本在VB6
- 26. 在dataGridView的单元格中搜索文本并突出显示该行?
- 27. 更新datagridview单元格的值和在datagridview上显示
- 28. 占位符不显示
- 29. Textarea占位符未显示
- 30. On becomeFirstResponder显示占位符
你真的是一个Label控件?或者你只是想设置两个单元格的文本值? – TaW
其实我试图把标签作为占位符放在那些cells.so,如果datagridview是空的,我可以在那些单元上显示它。 – biff
请根据您的新评论更改问题标题和说明。你想绘制前2列的占位符文本。此外,您似乎不需要单击按钮,只需在单元格为空时在单元格上显示它们。 –