private void inbox_btn_Click(object sender, EventArgs e) { overviews = new List <email_overview_display_bg>(); for (int i = 0; i < numberOfEmails; i++) { Point point = new Point(0, 68 * i); email_overview_display_bg email_overview = new email_overview_display_bg(); email_overview.Name = Convert.ToString(i);//i从0开始 email_overview.sender_email.Text = mails[i].sender; email_overview.subject.Text = mails[i].subject; if (mails[i].content.Length > 5) { email_overview.content.Text = mails[i].content.Substring(0, 5); } else { email_overview.content.Text = mails[i].content; } email_overview.Location = point; email_overview.Click += new EventHandler(email_overview_display_Click); //overview是panel,overviews是list overviews.Add(email_overview); overview.Controls.Add(email_overview); } }
private void delete_btn_Click(object sender, EventArgs e) { Button temp = (Button)sender; int index = Convert.ToInt32(temp.Name); email_overview_display_bg tmp = new email_overview_display_bg(); string cmdData = "dele " + (numberOfEmails - index).ToString() + "\r\n"; byte[] szData = System.Text.Encoding.ASCII.GetBytes(cmdData.ToCharArray()); StrmWtr.Write(szData, 0, szData.Length); if (StrmRdr.ReadLine()[0] == '+') { tmp.Name = overviews[index].Name; tmp.Location = overviews[index].Location; //重新排列自定义控件 for (int i = Convert.ToInt32(temp.Name); i < numberOfEmails - 1; i++) { email_overview_display_bg tmp_1 = new email_overview_display_bg(); tmp_1.Name = overviews[i + 1].Name; tmp_1.Location = overviews[i + 1].Location; overviews[i + 1].Name = tmp.Name; overviews[i + 1].Location = tmp.Location; tmp.Name = tmp_1.Name; tmp.Location = tmp_1.Location; } //删除index处的自定义控件 overviews.RemoveAt(index); //删除邮件 mails.RemoveAt(index); //将右侧内容清空 for (int i = 0; i <= 10; i++)//1次循环无法清理干净,所以执行多次循环 { foreach (Control control in details.Controls) { if (control is LinkLabel || (control is Label && control.Text == "附件列表:")) { control.Dispose(); } } } subject.Text = null; sender_email.Text = null; Date.Text = null; content.Text = null; //刷新自定义控件 overview.Controls.Clear(); for (int i = 0; i < overviews.Count(); i++) { overview.Controls.Add(overviews[i]); } MessageBox.Show("已添加删除标记,客户端关闭后即可删除"); } else { MessageBox.Show("删除失败"); } }
private void email_overview_display_Click(object sender, EventArgs e) { email_overview_display_bg temp = (email_overview_display_bg)sender; int index = Convert.ToInt32(temp.Name); subject.Text = "主题:" + mails[index].subject; sender_email.Text = "发件人:" + mails[index].sender; //对邮件的时间格式进行修正 if (mails[index].date != "") { string date = mails[index].date; string DayOfWeek; string Year; string Month; string Day; string Time; DayOfWeek = date.Split(',')[0]; Year = date.Split(',')[1].Split(' ')[3]; Month = date.Split(',')[1].Split(' ')[2]; Day = date.Split(',')[1].Split(' ')[1]; Time = date.Split(',')[1].Split(' ')[4]; if (DayOfWeek == "Mon") { DayOfWeek = "星期一"; } else if (DayOfWeek == "Tue") { DayOfWeek = "星期二"; } else if (DayOfWeek == "Wed") { DayOfWeek = "星期三"; } else if (DayOfWeek == "Thu") { DayOfWeek = "星期四"; } else if (DayOfWeek == "Fri") { DayOfWeek = "星期五"; } else if (DayOfWeek == "Sat") { DayOfWeek = "星期六"; } else if (DayOfWeek == "Sun") { DayOfWeek = "星期日"; } if (Month == "Jan") { Month = "1"; } else if (Month == "Feb") { Month = "2"; } else if (Month == "Mar") { Month = "3"; } else if (Month == "Apr") { Month = "4"; } else if (Month == "May") { Month = "5"; } else if (Month == "Jun") { Month = "6"; } else if (Month == "Jul") { Month = "7"; } else if (Month == "Aug") { Month = "8"; } else if (Month == "Sept") { Month = "9"; } else if (Month == "Oct") { Month = "10"; } else if (Month == "Nov") { Month = "11"; } else if (Month == "Dec") { Month = "12"; } Date.Text = "时 间:" + Year + "年" + Month + "月" + Day + "日" + "(" + DayOfWeek + ")" + Time; } else { Date.Text = null; } content.Text = mails[index].content; for (int i = 0; i <= 10; i++)//1次循环无法清理干净,所以执行多次循环 { foreach (Control control in details.Controls) { if (control is LinkLabel || (control is Label && control.Text == "附件列表:")) { control.Dispose(); } if (control is Button && control.Text == "删除") { control.Enabled = false; } } } Button delete_btn = new Button(); // // delete_btn // delete_btn.BackColor = SystemColors.Window; delete_btn.Cursor = Cursors.Hand; delete_btn.FlatStyle = FlatStyle.Popup; delete_btn.Font = new Font("微软雅黑", 10.5F, FontStyle.Bold, GraphicsUnit.Point, ((byte)(134))); delete_btn.Location = new Point(800, 15);///////////////// delete_btn.Name = Convert.ToString(index); delete_btn.Size = new Size(60, 33); delete_btn.Text = "删除"; delete_btn.UseVisualStyleBackColor = false; delete_btn.Click += new EventHandler(delete_btn_Click); delete_btn.MouseEnter += new EventHandler(delete_btn_MouseEnter); delete_btn.MouseLeave += new EventHandler(delete_btn_MouseLeave); details.Controls.Add(delete_btn); if (mails[index].hasFile == true) { List <Mail_file> files = mails[index].files;//附件列表 Label attachment_notice = new Label(); // // attachment_notice // attachment_notice.AutoSize = true; attachment_notice.Font = new Font("微软雅黑", 14.5F, FontStyle.Bold, GraphicsUnit.Point, (byte)134); attachment_notice.Location = new Point(14, content.Location.Y + content.Size.Height + 100); attachment_notice.Name = "attachments"; attachment_notice.Size = new Size(0, 20); attachment_notice.Text = "附件列表:"; details.Controls.Add(attachment_notice); for (int i = 0; i < files.Count; i++) { LinkLabel attachments = new LinkLabel(); // // attachments // attachments.AutoSize = true; attachments.Text = Convert.ToString(files[i].Name); attachments.Font = new Font("微软雅黑", 10.5F, FontStyle.Regular, GraphicsUnit.Point, (byte)134); attachments.Location = new Point(14, attachment_notice.Location.Y + attachment_notice.Size.Height + i * 20); attachments.Name = Convert.ToString(index) + "-" + Convert.ToString(i); attachments.Size = new Size(0, 20); attachments.Click += new EventHandler(linkLabel_LinkClicked); details.Controls.Add(attachments); } } }