2013-03-13 162 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控件或其他某種方式的顯示數據,問題就會有意義。但是字符串是一系列字符。字符串保存文本,僅此而已。字符串不知道你將如何使用它(例如顯示字符串)。