MainForm.cs
上传用户:linger1010
上传日期:2008-12-08
资源大小:561k
文件大小:2k
源码类别:

Windows Mobile

开发平台:

C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using Microsoft.WindowsMobile.PocketOutlook;
  9. namespace AccessingAppointments
  10. {
  11. public partial class MainForm : Form
  12. {
  13. OutlookSession m_outlookSession;
  14. public MainForm()
  15. {
  16. InitializeComponent();
  17. m_outlookSession = new OutlookSession();
  18. m_refreshAppointments();
  19. }
  20. private void m_refreshAppointments()
  21. {
  22. m_lstAppointments.Items.Clear();
  23. try
  24. {
  25. foreach(Appointment a in m_outlookSession.Appointments.Items)
  26. {
  27. ListViewItem item = new ListViewItem(
  28. new string[]
  29. {
  30. a.Subject,
  31. a.Start.ToString(),
  32. a.End.ToString()
  33. });
  34. if(a.End < DateTime.Now)
  35. item.ForeColor = Color.Gray;
  36. else if(a.Start > DateTime.Now)
  37. item.ForeColor = Color.Black;
  38. else
  39. item.ForeColor = Color.Blue;
  40. m_lstAppointments.Items.Add(item);
  41. }
  42. }
  43. catch(Exception ex)
  44. {
  45. MessageBox.Show(
  46. String.Format("Error: {0}", ex.Message),
  47. "Refresh",
  48. MessageBoxButtons.OK,
  49. MessageBoxIcon.Hand,
  50. MessageBoxDefaultButton.Button1);
  51. }
  52. }
  53. private void m_mnuNew_Click(object sender, EventArgs e)
  54. {
  55. try
  56. {
  57. Appointment a = m_outlookSession.Appointments.Items.AddNew();
  58. a.ShowDialog();
  59. }
  60. catch(Exception ex)
  61. {
  62. MessageBox.Show(
  63. String.Format("Error: {0}", ex.Message),
  64. "Refresh",
  65. MessageBoxButtons.OK,
  66. MessageBoxIcon.Hand,
  67. MessageBoxDefaultButton.Button1);
  68. }
  69. }
  70. private void m_mnuDetails_Click(object sender, EventArgs e)
  71. {
  72. if(m_lstAppointments.SelectedIndices.Count == 0)
  73. return;
  74. int activeIndex = m_lstAppointments.SelectedIndices[0];
  75. Appointment activeAppointment = m_outlookSession.Appointments.Items[activeIndex];
  76. activeAppointment.ShowDialog();
  77. }
  78. private void MainForm_Activated(object sender, EventArgs e)
  79. {
  80. m_refreshAppointments();
  81. }
  82. private void m_lstAppointments_ItemActivate(object sender, EventArgs e)
  83. {
  84. m_mnuDetails_Click(sender, e);
  85. }
  86. }
  87. }