windows mobile5.0開發第一個.Net應用程式[xgluxv] 【轉載】

來源:互聯網
上載者:User

由於本人非常窮 所以自己是沒有機器的 所有的程式都在模擬器裡完成
這是本人學習mobile開發的感想和例子 學習的東西大都來自微軟的webcast和msdn,基本上不是原創.就是整理再發表.

前面的文章 已經安裝完了開發環境,今天就開始寫第一個程式。首先我們進入vs2005
然後是File->new->project->visual c#->smart device->windows mobile 5.0 smartphone->Device Application,選擇儲存工程路徑,單擊OK 工程建立完成。進入開發介面。模擬器的
 
挺漂亮的

習慣性的先到工具列裡看看 發現很多控制項,其中包括了常用控制項:Lable、TextBox、PictureBox、ComboBox、ListView、TreeView、ProgressBar、CheckBox、DaTeTimePicker、LinkLable、WebBrowser,容器控制項:Panle,菜單工具列控制項 MainMenu,資料繫結顯示控制項:BindingSource、DataGrid 裝置群組件:ImageList、MessageQueue、SerialPort、Timer。如果開發過電腦windows程式 這些控制項是很熟悉的了。

smartphone檔案系統不是以盤符分的 就是一個根目錄.程式中操作只支援絕對路徑。在.net裡操作檔案和目錄使用的名稱空間為System.IO,而擷取指定檔案夾的路徑要使用API,SHGetSpecialFolderPath函數,儲存卡的是以"\Storage Card"目錄形式出現,操作儲存卡的的API有FindFirstFlashCard,FindNextFlashCard等。

在smartphone中支援的一些特用的API,分為託管和本地的API,
首先介紹一下電話撥號的託管的API,在名稱空間Microsoft.WindwosMobile.Telephony其中的Phone.Talk(string PhoneNumber)主要用來呼叫一個號碼,如果想得到更詳細的撥號資訊智能調用本地API--TAPI,這個將在以後的文章中具體介紹,主要是用來得到撥出和撥入的狀態操作等,它需要包含TAPI.H標頭檔,引入CoreDll.lib類庫。
第二個介紹是簡訊API,託管的API有在名稱空間Microsoft.WindwosMobile.PocketOutlook.SmsMessage下的SmsMessage.Send(SmsMessage)的函數,而本地的API包含SmsOpen,SmsSendMessage,SmsGetPhoneNumber,SmsClose等方法,包含在sms.h標頭檔,需要引用sms.lib的類庫。託管類的名稱空間Microsoft.WindwosMobile.PocketOutlook除了可以傳送簡訊的功能還包含了發送郵件,新增工作,約會和連絡人的功能。

在.Net CF中還包含了一些對方框 使操作手機裡的檔案更容易操作,其中常用的有CameraCaptureDialog照相機對方框,ChooseContactDialog連絡人對方框,SelectPicturDialog選擇圖片對話方塊。這些對話方塊的應用以後再說.

接下來將寫一個程式包括髮送簡訊 郵件 撥打到電話和添加約會的功能

首先在一開始建立的工程中的Form1的MainMenu中添加的功能表項目,

接著就是在各個功能表項目的click事件中添加下邊的代碼

        /**//// <summary>
        /// 撥打到電話
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void menuItem5_Click(object sender, EventArgs e)
        {
            Phone myphone = new Phone();
            myphone.Talk("0573-1234567");
        }
        /**//// <summary>
        /// 傳送簡訊
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void menuItem3_Click(object sender, EventArgs e)
        {
            Microsoft.WindowsMobile.PocketOutlook.SmsMessage smsM = new SmsMessage();
            smsM.Body = "Hello World";
            smsM.To.Add(new Recipient("老楊","133002121629"));
            //發送成功 得到一個反饋
            smsM.RequestDeliveryReport=true;
            smsM.Send();
        }
        /**//// <summary>
        /// 發送郵件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void menuItem4_Click(object sender, EventArgs e)
        {
            Microsoft.WindowsMobile.PocketOutlook.EmailMessage emailM = new EmailMessage();
            emailM.Subject = "Hello World";
            emailM.BodyText = "我打..";
            emailM.To.Add(new Recipient("大個", "Teaks@hotmail.com"));
            //添加附件
            //Attachment attach=new Attachment("\luxv\g.gif");
            //emailM.Attachments.Add(attach);
            //emailM.Send("大個");
        }
        /**//// <summary>
        /// 添加約會
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void menuItem7_Click(object sender, EventArgs e)
        {
            Microsoft.WindowsMobile.PocketOutlook.OutlookSession mysession = new OutlookSession();
            Appointment apment =new Appointment ();
            apment.Subject="test";
            apment.Body ="吃飯";
            apment.Start=DateTime.Now;
            apment.End=DateTime.Now.AddDays(4);
            mysession.Appointments.Items.Add(apment);
            apment.ShowDialog();
        }

 寫完這些就可以把傳統手機的常用功能學習到了.

代碼例子

需要注意的windows mobile5.0預裝的是.net cf1.1 sp3,如果要運行.net cf2.0的程式,需要自己安裝.net cf 2.0。

 

路漫漫其修遠兮 吾將上下而求索

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.