[英]How do i use a richTextBox instead of ListBox?
我有此代码即时通讯使用listBox:
private void button6_Click(object sender, EventArgs e)
{
using (var w = new StreamWriter(keywords))
{
crawlLocaly1 = new CrawlLocaly();
crawlLocaly1.StartPosition = FormStartPosition.CenterParent;
DialogResult dr = crawlLocaly1.ShowDialog(this);
if (dr == DialogResult.OK)
{
int line = listBox1.Items.Count;
if (LocalyKeyWords.ContainsKey(mainUrl))
{
line = listBox1.Items.IndexOf("Url: " + mainUrl + " --- " + "Localy KeyWord: " + LocalyKeyWords[mainUrl][0]);
listBox1.Items.Remove("Url: " + mainUrl + " --- " + "Localy KeyWord: " + LocalyKeyWords[mainUrl][0]);
LocalyKeyWords[mainUrl].Clear();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
else
{
LocalyKeyWords[mainUrl] = new List<string>();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
Write(w);
listBox1.Items.Insert(line, "Url: " + mainUrl + " --- " + "Localy KeyWord: " + LocalyKeyWords[mainUrl][0]);
}
if (dr == DialogResult.Cancel)
{
Write(w);
}
}
}
private void LoadKeys(Dictionary<string,List<string>> dictionary, string FileName)
{
string line = System.String.Empty;
using (StreamReader sr = new StreamReader(keywords))
{
while ((line = sr.ReadLine()) != null)
{
string[] tokens = line.Split(',');
dictionary.Add(tokens[0], tokens.Skip(1).ToList());
listBox1.Items.Add("Url: " + tokens[0] + " --- " + "Localy KeyWord: " + tokens[1]);
}
}
}
private void Write(StreamWriter writer)
{
foreach (KeyValuePair<string, List<string>> kvp in LocalyKeyWords)
{
writer.WriteLine(kvp.Key + "," + string.Join(",", kvp.Value));
}
}
然后我想使用richTextBox而不是listBox,所以我尝试了这段代码,但是它不像listBox那样工作。 它只向我显示一个链接,并且不像listBox那样工作。 如何使用richTextBox修复它?
私人无效button6_Click(对象发件人,EventArgs的){
using (var w = new StreamWriter(keywords))
{
crawlLocaly1 = new CrawlLocaly();
crawlLocaly1.StartPosition = FormStartPosition.CenterParent;
DialogResult dr = crawlLocaly1.ShowDialog(this);
if (dr == DialogResult.OK)
{
int line = richTextBox2.GetLineFromCharIndex(richTextBox2.TextLength) + 1;
if (LocalyKeyWords.ContainsKey(mainUrl))
{
line = richTextBox2.Text.IndexOf("Url: " + mainUrl + " --- " + "Localy KeyWord: " + LocalyKeyWords[mainUrl][0]);
richTextBox2.Text.Remove(line); //"Url: " + mainUrl + " --- " + "Localy KeyWord: " + LocalyKeyWords[mainUrl][0]);
LocalyKeyWords[mainUrl].Clear();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
else
{
LocalyKeyWords[mainUrl] = new List<string>();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
Write(w);
richTextBox2.Text.Insert(line, "Url: " + mainUrl + " --- " + "Localy KeyWord: " + LocalyKeyWords[mainUrl][0]);
}
if (dr == DialogResult.Cancel)
{
Write(w);
}
}
}
private void LoadKeys(Dictionary<string,List<string>> dictionary, string FileName)
{
string line = System.String.Empty;
using (StreamReader sr = new StreamReader(keywords))
{
while ((line = sr.ReadLine()) != null)
{
string[] tokens = line.Split(',');
dictionary.Add(tokens[0], tokens.Skip(1).ToList());
richTextBox2.Text = "Url: " + tokens[0] + " --- " + "Localy KeyWord: " + tokens[1];
}
}
}
private void Write(StreamWriter writer)
{
foreach (KeyValuePair<string, List<string>> kvp in LocalyKeyWords)
{
writer.WriteLine(kvp.Key + "," + string.Join(",", kvp.Value));
}
}
解决方法是:
richTextBox2.AppendText("Url: " + tokens[0] + " --- " + "Localy KeyWord: " + tokens[1]+Environment.NewLine);
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.