在我的 win forms 应用程序中,我有一个列表框和一个文本框,该应用程序从服务器获取电子邮件并在列表框中显示主题等,当我单击列表框时,正文显示在文本框中。问题是我必须在选定的索引更改事件中重复下面的整个代码才能使其工作,否则我会得到“在当前上下文中不存在”错误,这会减慢应用程序的速度。
// Create an object, connect to the IMAP server, login,
// and select a mailbox.
Chilkat.Imap imap = new Chilkat.Imap();
imap.UnlockComponent("");
imap.Port = 993;
imap.Ssl = true;
imap.Connect("imap.gmail.com");
imap.Login("user@email.com", "pass");
imap.SelectMailbox("Inbox");
// Get a message set containing all the message IDs
// in the selected mailbox.
Chilkat.MessageSet msgSet;
msgSet = imap.Search("ALL", true);
// Fetch all the mail into a bundle object.
Chilkat.EmailBundle bundle = new Chilkat.EmailBundle();
bundle = imap.FetchBundle(msgSet);
// Loop over the bundle and display the From and Subject.
Chilkat.Email email;
int i;
for (i = 0; i < bundle.MessageCount - 1; i++)
{
email = bundle.GetEmail(i);
listView1.Items.Add(email.From + ": " + email.Subject).Tag = i;
richTextBox1.Text = email.Body;
}
// Save the email to an XML file
bundle.SaveXml("bundle.xml");
这是我想在选定的索引更改事件中使用的代码:
if (listView1.SelectedItems.Count > 0)
{
richTextBox1.Text = bundle.GetEmail((int)listView1.SelectedItems[0].Tag).Body;
}
当我使用此代码时,我收到错误“当前上下文中不存在捆绑包”;我该如何解决这个错误?