【发布时间】:2020-08-28 07:45:05
【问题描述】:
我是新来的,也是 C# 的新手。我基本上只想在我的报告中为最高温度(单行)上色,但我已经尝试了这里的所有编码,但没有任何效果。有人可以帮帮我吗?这是我的编码,比较两个城市的预测。如果有其他更简单的方法可以使用 listBox 等其他功能,请告诉我。
如果你看到图片,我现在基本上只是用星号来表示更高的温度。
输出:
我的代码:
private void getComparison()
{
this.richTextBox1.Text = ("Start Date: " + dateTimePicker3.Value.ToString());
this.richTextBox1.Text = ("COMPARE MULTIPLE CITIES FOR THE WEEK" + Environment.NewLine + "\n\n");
for (int j = 0; j < 7; j++)
{
tempCity1 = Convert.ToInt32(a.getMaxi()[comboBox2.SelectedIndex, j].ToString());
tempCity2 = Convert.ToInt32(a.getMaxi()[comboBox1.SelectedIndex, j].ToString());
//City 1
this.richTextBox1.Text = ("------------------------------------------");
this.richTextBox1.Text = ("Day: " + a.getDate(j).ToString());
this.richTextBox1.Text = ("------------------------------------------");
this.richTextBox1.Text = ("City: " + arrCities[comboBox2.SelectedIndex]);
this.richTextBox1.Text = ("Minimum Temperature: " + a.getMini()[comboBox2.SelectedIndex, j].ToString() + "°C");
if (tempCity1 < tempCity2)
{
this.richTextBox1.Text =("Maximum Temperature: " + a.getMaxi()[comboBox2.SelectedIndex, j].ToString() + "°C");
//richTextBox1.SelectionColor = Color.Red;
}
else
{
this.richTextBox1.Text = ("***Maximum Temperature: " + a.getMaxi()[comboBox2.SelectedIndex, j].ToString() + "°C");
//richTextBox1.SelectionBackColor = Color.Blue;
}
this.richTextBox1.Text = ("Precipitation: " + a.getPrecip()[comboBox2.SelectedIndex, j].ToString() + "%");
this.richTextBox1.Text = ("Humidity: " + a.getHumid()[comboBox2.SelectedIndex, j].ToString() + "%");
this.richTextBox1.Text = ("Wind speed: " + a.getWindspeed()[comboBox2.SelectedIndex, j].ToString() + "km / h");
this.richTextBox1.Text = ("" + Environment.NewLine + "\n\n");
//City 2
this.richTextBox1.Text = ("City: " + arrCities[comboBox1.SelectedIndex]);
this.richTextBox1.Text = ("Minimum Temperature: " + a.getMini()[comboBox1.SelectedIndex, j].ToString() + "°C");
if (tempCity1 > tempCity2)
{
this.richTextBox1.Text=("Maximum Temperature: " + a.getMaxi()[comboBox1.SelectedIndex, j].ToString() + "°C");
//richTextBox1.SelectionColor = Color.Red;
}
else
{
this.richTextBox1.Text = ("**Maximum Temperature:" + a.getMaxi()[comboBox1.SelectedIndex, j].ToString() + "°C");
//richTextBox1.SelectionColor = Color.Blue;
}
//("Maximum Temperature: " + a.getMaxi()[comboBox1.SelectedIndex, j].ToString() + "°C");
this.richTextBox1.Text = ("Precipitation: " + a.getPrecip()[comboBox1.SelectedIndex, j].ToString() + "%");
this.richTextBox1.Text = ("Humidity: " + a.getHumid()[comboBox1.SelectedIndex, j].ToString() + "%");
this.richTextBox1.Text = ("Wind speed: " + a.getWindspeed()[comboBox1.SelectedIndex, j].ToString() + "km / h");
}
谢谢你:)
【问题讨论】:
-
没有办法该代码使用标准 RichTextBox 生成该输出。你到处都有
this.richTextBox1.Text =。这些调用中的每一个都将现有文本完全替换为仅该调用的行。您发布的代码的实际输出只有最后的“风速”行,没有别的。此外,每次像这样设置.Text属性时,都会完全删除任何现有格式(如颜色!)。除非您有一个从 RichTextBox 继承的自定义控件并且具有继承和覆盖的.Text属性? -
你很聪明 :) 是的,就像我说的那样,如果我可以用 listBox 做到这一点,请告诉我,照片中的输出是 listBox 但有人告诉我不要使用 listBox而是使用richTextBox。我的编码与listBox相同,只是名称richTextbox被替换了。我已经尝试了这些链接,但没有成功:(
标签: c# listbox richtextbox