我有这个按钮点击代码现在正在工作:
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)
{
if (LocalyKeyWords.ContainsKey(mainUrl))
{
LocalyKeyWords[mainUrl].Clear();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
else
{
LocalyKeyWords[mainUrl] = new List<string>();
LocalyKeyWords[mainUrl].Add(crawlLocaly1.getText());
}
Write(w);
listBox1.Items.Add("Url: " + LocalyKeyWords[mainUrl] + " --- " + "Localy KeyWord: " + crawlLocaly1.getText());
}
if (dr == DialogResult.Cancel)
{
Write(w);
}
}
}
当我对 mainUrl(key) 或 crawlLocaly1.getText()(key 的值) 进行更改时,我需要它,所以它也会在 ListBox 中实时更改。我试着这样做:
listBox1.Items.Add("Url: " + LocalyKeyWords[mainUrl] + " --- " + "Localy KeyWord: " + crawlLocaly1.getText());
但是它不显示键及其值,并且它添加一个新行而不是仅更新键的值,如果键已经存在或者如果键在列表中不存在,则将新键及其值添加到 ListBox .
我如何制作它以便它会在 ListBox 中实时更新它?
好的,将 ListBox 行更改为:
listBox1.Items.Add("Url: " + mainUrl + " --- " + "Localy KeyWord: " + crawlLocaly1.getText());
现在它添加它很好,但它添加它作为一个新行。我希望它将添加它并替换 ListBox 中已经存在 mainUrl 的行。
如果 ListBox 中不存在 mainUrl,则将其值添加到新行中。但是,如果 ListBox 中存在 Key(mainUrl) ,则始终替换它或仅更改 value(crawlLocaly1.getText() ) 。