2013-03-13 165 views
0

我在C#窗体窗体应用程序中工作,我想更改我在网格中显示的字符串的颜色。当在DataTable单元格中显示时更改C#字符串的颜色

//dtRList is a DataTable 
dtRList.Rows.Add(something + "This should be red"); 

基本上我需要改变我在这里追加的字符串的颜色。事情是这样的,

String str = "This should be red"; 

现在str的颜色改为红色和

dtReconList.Rows.Add(something + str); 

我不认为这是可以做到这样的,可能是我将不得不去一个标签或一些东西。 任何帮助表示赞赏。

谢谢。

+4

你问这个问题的方式我倾向于回答你不能改变'string'的颜色;它根本没有颜色。如果要以不同的颜色显示它,则必须在用于显示它的控件上设置属性。对于DataGridView,你可以使用'DataGridViewCell.Style',但是你必须通过自己分析它的内容来确定字符串应该显示的颜色(遵守格式化规则)。 – 2013-03-13 09:06:46

+0

我同意约翰。也许你应该重建你的问题。即使是初级程序员也知道字符串或任何类型的变量没有颜色。着色可以在UI中看到 – 2013-03-13 09:12:03

回答

2

您不能更改为字符串的颜色。因为它没有颜色,所以你想要的是改变表示你的字符串值的组件的颜色。

一个快速的代码给你一个总体思路,这里是你如何设置的DataGridViewCell

DataGridViewCellStyle style = new DataGridViewCellStyle(); 
style.ForeColor = Color.Red; 

dgVenta.Rows[0].Cells[0].Style = style; 

当然,你需要的款式你想要的细胞,而不一定是第一个颜色。这取决于你。请记住,如果您更改的行被选中,它可能不会反映您设置的颜色,要解决该问题,请查看SelectionForeColor属性。

当然,你可以改变所有你需要的东西,做任何有条件的逻辑,例如,如果值是正值或负值,使用绿色或红色。

3

DataTable与UI无关。这不是一个控制。它只是一个数据持有者。如果您询问DataGridView控件或其他某种方式的显示数据,问题就会有意义。但是字符串是一系列字符。字符串保存文本,仅此而已。字符串不知道你将如何使用它(例如显示字符串)。