我正在尝试根据特定表单列出RichTextBox框中data.txt中文本编辑器的数据。我的data.txt文件由4列组成。根据第一列中的数据,第2列和第3列中的数据将着色。例如,根据第1列中的“kmy”数据;第2列中的数据为“k”,第2列中的数据为红色,第3列中的数据为“m”,第3列中的数据为蓝色,第4列中的数据为“y”,因此我尝试将第4列中的数据以绿色列为richtextbox。
这是我的代码;
public static class RichTextBoxExtensions
{
public static void AppendText(this RichTextBox box, string text, Color color)
{
box.SelectionColor = color;
box.AppendText(text);
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
int count = 0;
List<string> lines = File.ReadAllLines("data.txt").ToList();
foreach (string current in lines)
{
string[] dataArray = current.Split(' ');
string color1;
string color2;
string color3;
Color color11;
Color color22;
Color color33;
if (count % 2 == 0) {
richTextBox1.SelectionFont = new Font(richTextBox1.Font, FontStyle.Bold);
}
count++;
color1 = dataArray[0].Substring(0, 1);
color2 = dataArray[0].Substring(1, 1);
color3 = dataArray[0].Substring(2, 1);
if (color1 == "k")
{
color11 = Color.Red;
}
else if (color1 == "m")
{
color11 = Color.Blue;
}
else if (color1 == "y")
{
color11 = Color.Green;
}
if (color2 == "k")
{
color22 = Color.Red;
}
else if (color2 == "m")
{
color22 = Color.Blue;
}
else if (color2 == "y")
{
color22 = Color.Green;
}
if (color3 == "k")
{
color33 = Color.Red;
}
else if (color3 == "m")
{
color33 = Color.Blue;
}
else if (color3 == "y")
{
color33 = Color.Green;
}
richTextBox1.AppendText(dataArray[1] + " ", Color.Red);
richTextBox1.AppendText(dataArray[2] + " ", Color.Blue);
richTextBox1.AppendText(dataArray[3] + " ", Color.Green);
richTextBox1.AppendText("\n");
}
}
}
我的问题是
richTextBox1.AppendText(dataArray[1] + " ", Color.Red);
richTextBox1.AppendText(dataArray[2] + " ", Color.Blue);
richTextBox1.AppendText(dataArray[3] + " ", Color.Green);
我的data.txt;
kmy USA Washington 212
ymy England London 123
k red,m blue y green。 美国红色华盛顿蓝色和212必须是绿色
如何在Color.Red,Color.Blue,Color.Green部分中使用color11,color22,color33 T恤打印颜色?
由于我的语言问题,我很难表达它。我在等你的帮忙。
答案 0 :(得分:0)
据我所知,你是不是想尝试做这样的事情?
richTextBox1.AppendText(dataArray[1] + " " + "Red");
richTextBox1.AppendText(dataArray[2] + " " + "Blue");
richTextBox1.AppendText(dataArray[3] + " " + "Green");
这是你想要的吗?或者你想要RichTextBox
??的颜色?如果您想要富文本框中的颜色,最简单的方法是创建3种不同颜色的图片,然后将图片粘贴到richtextbox中:
image img = Image.FromFile(FilePathHere);
Clipboard.SetImage(img);
richtextbox1.Paste();
或者您是否想要更改richtextbox文本的前景色?
richtextbox1.ForeColor = color.Red
与你的代码结合,只需这样做:
richtextbox1.ForeColor = Color.Red
richTextBox1.AppendText(dataArray[1] + " ")
richtextbox1.ForeColor = Color.Blue
richTextBox1.AppendText(dataArray[2] + " ")
richtextbox1.ForeColor = Color.Green
richTextBox1.AppendText(dataArray[3] + " ")