private void Refresh_Click(object sender, EventArgs e) { DataWorker dataWorker = DataWorker.Instance; mailList.Items.Clear(); mails.Clear(); foreach (var item in dataWorker.GetMails(currentFolder)) { mailList.Items.Add(new ListViewItem(new[] { item.From, item.To, item.Subject })); mails.Add(item); } }
//Загрузка сообщений из файла и заполнение ими ListView private void LoadMails(string folderName) { DataWorker dataWorker = DataWorker.Instance; mailList.Items.Clear(); mails.Clear(); foreach (var item in dataWorker.GetMails(folderName)) { mailList.Items.Add(new ListViewItem(new[] { item.From, item.To, item.Subject })); mails.Add(item); } mailList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); mailList.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }
private void mailList_ItemClicked(object sender, MouseEventArgs e) { DataWorker dataWorker = DataWorker.Instance; if (e.Button == MouseButtons.Left) { if (mailList.SelectedItems.Count > 0) { mailText.Text = dataWorker.GetMails(currentFolder)[mailList.SelectedItems[0].Index].Body; } } else if (e.Button == MouseButtons.Right) { if (currentFolder != "Sent Mail") { //проверяет что нажатие произведено в пределах выделенного элемента if (mailList.FocusedItem.Bounds.Contains(e.Location)) { var moveToItem = (ToolStripMenuItem)mailMenuStrip.Items[0]; //Если папок стало больше if (moveToItem.DropDownItems.Count < dataWorker.GetFolders().Count - 2) { moveToItem.DropDownItems.Clear(); foreach (var folder in dataWorker.GetFolders()) { if (folder != currentFolder && folder != "Sent Mail") { /*var copyItem = new ToolStripMenuItem(folder); * copyItem.Click += CopyMail; * ((ToolStripMenuItem) mailMenuStrip.Items[0]).DropDownItems.Add(copyItem);*/ var moveItem = new ToolStripMenuItem(folder); moveItem.Click += MoveMail; moveToItem.DropDownItems.Add(moveItem); } } } mailMenuStrip.Show(Cursor.Position); } } } }