📄 mainform.cs
字号:
prg.UpdateUI("获取邮件数目...", 0,
msg + "\n邮件数目为0,接收完毕\n\n");
mo.Close(ref msg);
return;
}
int pos = 0;
for (int j=1;j<=num;j++)
{
//检查是否要终止接收
if (prg.stopFlag)
{
break;
}
prg.UpdateUI("共接收" + num + "封邮件,正在接收" + j + "封邮件", 0, "");
Mail m;
if (ma.IsLeaveMessage)
{
m = mo.Receive(ref msg, j);
}
else
{
m = mo.Receive(ref msg, 1);
}
pos = (int)100*j/num; //计算进度条的位置
prg.UpdateUI("共接收" + num + "封邮件,正在接收" + j + "封邮件", pos, msg);
if (m == null)
{
continue;
}
m = ms.addNew(m);
mails.Add(m.MailID, m);
if (m.MailStorePosition == this.curMailBox)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = m.Sender;
lvi.SubItems.Add(m.Recipient);
lvi.SubItems.Add(m.Subject);
lvi.SubItems.Add(m.Time);
lvi.Tag = m.MailID;
this.lvMailList.Items.Add(lvi);
}
}
prg.UpdateUI("邮件接收完毕,关闭邮箱", 0, "");
ok = mo.Close(ref msg);
prg.UpdateUI("邮件接收完毕,关闭邮箱", 0, msg);
}
private MailAccount getMailAccountByName(string curAccount)
{
MailAccount retMA = null;
if (accounts.Count>0)
{
System.Collections.IEnumerator myEnumerator = accounts.GetEnumerator();
while (myEnumerator.MoveNext())
{
MailAccount ma = (MailAccount)myEnumerator.Current;
if (ma.Account == curAccount)
{
retMA = ma;
}
}
}
return retMA;
}
//装载全部的邮件,并在不同的邮箱中显示
private void loadMails()
{
mails = ms.getMails();
if (mails.Count>0)
{
this.tvBoxesList.Select();
this.tvBoxesList.SelectedNode = this.tvBoxesList.Nodes[0];
}
}
//显示不同邮箱中的邮件
private void tvBoxesList_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
if (mails.Count==0)
{
return;
}
//根据不同的邮箱,显示不同的内容
string mailbox = e.Node.Text;
if (curMailBox == mailbox)
{
return;
}
this.curMailBox = mailbox;
this.lvMailList.Items.Clear();
System.Collections.IEnumerator myEnumerator = mails.Values.GetEnumerator();
while (myEnumerator.MoveNext())
{
Mail m = (Mail)myEnumerator.Current;
if (m.MailStorePosition==mailbox)
{
ListViewItem lvi = new ListViewItem();
lvi.Text = m.Sender;
lvi.SubItems.Add(m.Recipient);
lvi.SubItems.Add(m.Subject);
lvi.SubItems.Add(m.Time);
lvi.Tag = m.MailID;
this.lvMailList.Items.Add(lvi);
}
}
}
//选择不同的邮件时,显示邮件的内容
private void lvMailList_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (this.lvMailList.SelectedItems.Count>0)
{
try
{
System.Windows.Forms.ListViewItem lvi = this.lvMailList.SelectedItems[0];
string id = System.Convert.ToString(lvi.Tag);
if(mails.ContainsKey(id))
{
Mail m = (Mail)mails[id];
this.rtbContent.Text = m.MailContent;
}
}
catch {}
}
}
//双击后编辑邮件内容
private void lvMailList_DoubleClick(object sender, System.EventArgs e)
{
if (this.lvMailList.SelectedItems.Count>0)
{
try
{
System.Windows.Forms.ListViewItem lvi = this.lvMailList.SelectedItems[0];
string id = System.Convert.ToString(lvi.Tag);
if(mails.ContainsKey(id))
{
Mail m = (Mail)mails[id];
NewMailForm nmf = new NewMailForm(m, this);
nmf.ShowDialog();
}
}
catch (Exception exp)
{
Console.WriteLine(exp.ToString());
}
}
}
public void AddNewMail(Mail mail)
{
if (mails.ContainsValue(mail))
{
//更新
ms.update(mail);
}
else
{
//添加
mail = ms.addNew(mail);
}
if (mail.MailStorePosition == this.curMailBox)
{
if (mails.ContainsValue(mail))
{
//更新
for (int i=0;i<this.lvMailList.Items.Count;i++)
{
ListViewItem lvi = this.lvMailList.Items[i];
if (mail.MailID == (string)lvi.Tag)
{
lvi.Text = mail.Sender;
lvi.SubItems[1].Text = mail.Recipient;
lvi.SubItems[2].Text = mail.Subject;
lvi.SubItems[3].Text = mail.Time;
lvi.Tag = mail.MailID;
}
}
this.lvMailList.Update();
}
else
{
//添加
ListViewItem lvi = new ListViewItem();
lvi.Text = mail.Sender;
lvi.SubItems.Add(mail.Recipient);
lvi.SubItems.Add(mail.Subject);
lvi.SubIt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -