outlookform.cs
来自「清华大学出版社出版的 移动应用开发宝典 张大威(2008)的附书源代码」· CS 代码 · 共 996 行 · 第 1/3 页
CS
996 行
{
dt.Rows.Add(new object[] { pi.Name, pi.GetValue(null,null) });
}
return dt;
}
private void rbStatus_CheckedChanged(object sender, EventArgs e)
{
if (rbStatus.Checked)
{
dataGrid1.DataSource = GetSystemState();
}
}
private void btnSms_Click(object sender, EventArgs e)
{
SmsMessage sm = new SmsMessage(txtNumber.Text, txtBody.Text);
sm.Send();
}
private void btnEmail_Click(object sender, EventArgs e)
{
EmailMessage em = new EmailMessage();
em.To.Add(new Recipient(txtEmailAddr.Text));
em.Subject = "Test Email";
em.BodyText = txtBody.Text;
if (!string.IsNullOrEmpty(openFileDialog1.FileName))
{
em.Attachments.Add(new Attachment(openFileDialog1.FileName));
}
em.Send(session.EmailAccounts[0]);
// send/receive
MessagingApplication.Synchronize();
}
private void btnAttach_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
}
private void tpRecurrence_Click(object sender, EventArgs e)
{
}
private DaysOfWeek DayOfWeekToDaysOfWeek(DayOfWeek dow )
{
switch (dow)
{
case DayOfWeek.Monday:
return DaysOfWeek.Monday;
case DayOfWeek.Tuesday:
return DaysOfWeek.Tuesday;
case DayOfWeek.Wednesday:
return DaysOfWeek.Wednesday;
case DayOfWeek.Thursday:
return DaysOfWeek.Thursday;
case DayOfWeek.Friday:
return DaysOfWeek.Friday;
case DayOfWeek.Saturday:
return DaysOfWeek.Saturday;
case DayOfWeek.Sunday:
return DaysOfWeek.Sunday;
}
return 0;
}
private WeekOfMonth GetWeekOfMonth(DateTime dt)
{
int week = (dt.Day / 7) + 1;
return (WeekOfMonth)week;
//DayOfWeek w = dt.DayOfWeek;
//DayOfWeek w1 = dt.AddDays(-1 * (dt.Day - 1)).DayOfWeek;
}
private void btnRecurring_Click(object sender, EventArgs e)
{
Appointment a = session.Appointments.Items.AddNew();
a.Subject = "Test Recurrence";
a.Start = DateTime.Now;
AppointmentRecurrence ar = a.RecurrencePattern;
if (rbDaily.Checked)
{
ar.RecurrenceType = RecurrenceType.Daily;
ar.Interval = Convert.ToInt32(udInterval.Value);
}
else if(rbWeekly.Checked)
{
ar.RecurrenceType = RecurrenceType.Weekly;
ar.DaysOfWeekMask = DayOfWeekToDaysOfWeek(dtpStart.Value.DayOfWeek);
ar.Interval = Convert.ToInt32(udInterval.Value);
}
else if (rbMonthly.Checked)
{
ar.RecurrenceType = RecurrenceType.Monthly;
ar.DayOfMonth = dtpStart.Value.Day;
ar.Interval = Convert.ToInt32(udInterval.Value);
}
else if (rbMonthNum.Checked)
{
ar.RecurrenceType = RecurrenceType.MonthByNumber;
ar.DaysOfWeekMask = DayOfWeekToDaysOfWeek(dtpStart.Value.DayOfWeek);
ar.Interval = Convert.ToInt32(udInterval.Value);
ar.Instance = GetWeekOfMonth(dtpStart.Value);
}
else if (rbYearly.Checked)
{
ar.RecurrenceType = RecurrenceType.Yearly;
ar.MonthOfYear = (Month)dtpStart.Value.Month;
ar.DayOfMonth = dtpStart.Value.Day;
}
else if (rbYearByNum.Checked)
{
ar.RecurrenceType = RecurrenceType.YearByNumber;
ar.DaysOfWeekMask = DayOfWeekToDaysOfWeek(dtpStart.Value.DayOfWeek);
ar.MonthOfYear = (Month)dtpStart.Value.Month;
ar.Instance = GetWeekOfMonth(dtpStart.Value);
}
ar.PatternStartDate = dtpStart.Value;
ar.Occurrences = Convert.ToInt32(udOccurences.Value);
a.Update();
//Populate the treeview
treeView1.BeginUpdate();
TreeNode tnRoot = treeView1.Nodes.Add(a.Subject + " " + a.Start.ToShortDateString());
for (int i = 0; i < ar.Occurrences; i++)
{
DateTime dt = DateTime.Today;
//Get date of next occurence
switch (ar.RecurrenceType)
{
case RecurrenceType.Daily:
dt = ar.PatternStartDate.AddDays(i * ar.Interval);
break;
case RecurrenceType.Weekly:
dt = ar.PatternStartDate.AddDays(7 * i * ar.Interval);
break;
case RecurrenceType.Monthly:
dt = ar.PatternStartDate.AddMonths(i * ar.Interval);
break;
case RecurrenceType.MonthByNumber:
dt = ar.PatternStartDate.AddMonths(i * ar.Interval);
break;
case RecurrenceType.Yearly:
dt = ar.PatternStartDate.AddYears(i);
break;
case RecurrenceType.YearByNumber:
dt = ar.PatternStartDate.AddYears(i);
break;
}
Appointment aOccurrence = ar.GetOccurrence(dt);
if (aOccurrence != null)
{
tnRoot.Nodes.Add(aOccurrence.Subject + " " + aOccurrence.Start.ToShortDateString());
}
}
treeView1.EndUpdate();
}
private void btnLookupSms_Click(object sender, EventArgs e)
{
ChooseContactDialog ccd = new ChooseContactDialog();
ccd.Owner = this;
ccd.RequiredProperties = new ContactProperty[]{ContactProperty.Sms};
ccd.Title = "Choose an SMS recipient";
if (ccd.ShowDialog() == DialogResult.OK)
{
txtNumber.Text = ccd.SelectedPropertyValue;
}
}
private void btnLookupEmail_Click(object sender, EventArgs e)
{
ChooseContactDialog ccd = new ChooseContactDialog();
ccd.ChoosePropertyText = "Select an email address:";
ccd.ChooseContactOnly = false;
ccd.Owner = this;
ccd.Title = "Choose an email recipient";
ccd.RequiredProperties = new ContactProperty[] { ContactProperty.AllEmail };
if (ccd.ShowDialog() == DialogResult.OK)
{
txtEmailAddr.Text = ccd.SelectedPropertyValue;
}
}
//Add some sample data.
private void AddExampleContacts()
{
session.Contacts.Items.Clear();
Contact c = session.Contacts.Items.AddNew();
c.FirstName = "Michael";
c.LastName = "Allen";
c.Email1Address = "michael@contoso.com";
c.MobileTelephoneNumber = "555-0132";
c.CompanyName = "Contoso Pharmaceuticals";
c.Properties.Add("LastInvoice", typeof(int));
c.Properties["LastInvoice"] = 3124;
c.Update();
c = session.Contacts.Items.AddNew();
c.FirstName = "Kevin";
c.LastName = "Liu";
c.Email1Address = "kevin@tailspintoys.com";
c.MobileTelephoneNumber = "555-0167";
c.CompanyName = "Tailspin Toys";
c.Properties["LastInvoice"] = 3668;
c.Update();
c = session.Contacts.Items.AddNew();
c.FirstName = "Elisabetta";
c.LastName = "Scotti";
c.Email1Address = "elisabetta@fourthcoffee.com";
c.MobileTelephoneNumber = "555-0122";
c.CompanyName = "Fourth Coffee";
c.Update();
c = session.Contacts.Items.AddNew();
c.FirstName = "Andrey";
c.LastName = "Gavrilov";
c.MobileTelephoneNumber = "555-0171";
c.CompanyName = "Lucerne Publishing";
c.Update();
c = session.Contacts.Items.AddNew();
c.FirstName = "Iris";
c.LastName = "Rodgers";
c.Email1Address = "iris@adventure-works.com";
c.CompanyName = "Adventure Works";
c.Update();
}
private void mnuAddSample_Click(object sender, EventArgs e)
{
AddExampleContacts();
}
private void btnSync_Click(object sender, EventArgs e)
{
// send/receive default account
MessagingApplication.Synchronize(session.EmailAccounts[0]);
}
private void btnCompose_Click(object sender, EventArgs e)
{
string[] attachments = new string[] { };
if (File.Exists(openFileDialog1.FileName))
{
attachments = new string[] { openFileDialog1.FileName };
}
MessagingApplication.DisplayComposeForm(session.EmailAccounts[0].Name, txtEmailAddr.Text, "Populated Compose Form", txtBody.Text, attachments);
}
private void SendGenericEmail()
{
EmailMessage m = new EmailMessage();
Recipient r = new Recipient("Elisabetta Scotti", "elisabetta@fourthcoffee.com");
m.To.Add(r);
m.Subject = "Important customer update";
m.BodyText = "This is an automatically generated email";
m.Importance = Importance.High;
Attachment a = new Attachment(openFileDialog1.FileName);
m.Attachments.Add(a);
m.Send(session.EmailAccounts[0]);
}
private void SendGenericSms()
{
SmsMessage s = new SmsMessage();
Recipient r = new Recipient("Andrey Gladkikh", "555-0171");
s.To.Add(r);
s.Body = "This is an automatically generated SMS";
s.RequestDeliveryReport = true;
s.Send();
}
private void SaveTask(string customerid, int jobNumber, string description)
{
Task t = new Task();
t.Subject = jobNumber.ToString() + ": " + description;
t.StartDate = DateTime.Now;
//set due in 7 days time
t.DueDate = DateTime.Today.AddDays(7);
//add custom properties
t.Properties.Add("CustomerId", typeof(string));
t.Properties.Add("JobNumber", typeof(int));
t.Properties["CustomerID"] = customerid;
t.Properties["JobNumber"] = jobNumber;
//assign category
t.Categories = "Maintenance";
t.Update();
}
private void AppointmentWithReminder(DateTime start, TimeSpan duration, string subject)
{
Appointment a = new Appointment();
a.Start = start;
a.Duration = duration;
a.Subject = subject;
a.BusyStatus = BusyStatus.Busy;
a.Categories = "Samples";
//remind user one hour before start
a.ReminderMinutesBeforeStart = 60;
a.ReminderDialog = true;
a.ReminderLed = true;
a.ReminderSound = true;
a.ReminderRepeat = true;
a.ReminderSoundFile = "\\Windows\\Alarm3.wav";
a.Update();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?