В моем приложении 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;
}
Когда я использую этот код, я получаю ошибку «пакет не существует в текущем контексте»; как я могу исправить эту ошибку?