Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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("删除失败");
            }
        }
Exemple #3
0
        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);
                }
            }
        }