改变DataGridView某个单元格的颜色

muyebo 2009-04-21 09:38:33
     private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
{
if (e.ColumnIndex == 1)
{
if (float.Parse(e.Value.ToString()) > 200)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Red;
MessageBox.Show("请注意,您输入的值超超过标准值!200 ", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}


这个地方为什么先弹出对话框,后变颜色,
如何让它先变颜色,后弹出对话框呢
...全文
181 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
muyebo 2009-04-21
  • 打赏
  • 举报
回复
ErrorText用了,弹出非数字输入的错误提示信息
zgke 2009-04-21
  • 打赏
  • 举报
回复
个人感觉使用 ErrorText好点

dataGridView1.Rows[0].Cells[0].ErrorText = "请注意,您输入的值超超过标准值!200 ";

muyebo 2009-04-21
  • 打赏
  • 举报
回复
感谢wartim
wartim 2009-04-21
  • 打赏
  • 举报
回复
因为这个时候你看到的单元格其实是被内部编辑控件覆盖的,要连这个控件的颜色也改掉

private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
{
if (e.ColumnIndex == 1)
{
if (float.Parse(e.Value.ToString()) > 200)
{
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Red;
dataGridView1.EditingControl.ForeColor = Color.Red;
MessageBox.Show("请注意,您输入的值超超过标准值!200 ", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
}
ericzhangbo1982111 2009-04-21
  • 打赏
  • 举报
回复
Thread.Sleep(500)
一下

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧