0
我使用列表框的代码IM:如何使用richTextBox而不是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中一样。它向我展示了只有一个链接,并没有像列表框那样行事。我如何解决它与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));
}
}
每一个有listBox我用richTextBox2.Text ....但它似乎并没有工作的地方。 –