tag:blogger.com,1999:blog-74747582008-07-06T02:17:31.371-07:00Developer Learning SolutionsWei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comBlogger267125tag:blogger.com,1999:blog-7474758.post-66064094137566172102008-07-06T02:10:00.000-07:002008-07-06T02:17:31.403-07:00Tip: Bringing a .NET CF Application to the ForegroundIn the .NET CF, there is no API to easily bring your application to the foreground. For example, your application may be intercepting incoming SMS messages and is switched to the background when the user uses other applications. When a SMS message is received, you often need to bring your application to the foreground so that the user is notified of the event. To do so, you need to understand that Windows Mobile applications are single-instance. That is, only a single instance of an application can run at a time.<br /><br />To bring the application to the foreground, first use reflection to find the path of the current application. Then use the <strong>Process.Start()</strong> method to run the application again. Since Windows Mobile applications are single-instance, using the <strong>Start()</strong> method on an already running application simply brings it to the foreground:<br /><br /><span style="font-family:courier new;">String appPath =<br /> System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;<br />System.Diagnostics.Process.Start(appPath, "");</span>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-91174202019641137122008-07-03T08:22:00.001-07:002008-07-03T08:24:58.672-07:00Mastering the Windows Mobile Emulators<a href="http://bp1.blogger.com/_yhJCyboCJYc/SGzu4eOyQ-I/AAAAAAAAAS8/w2Lt4Ll7UpQ/s1600-h/wm61.bmp"><img id="BLOGGER_PHOTO_ID_5218808722170725346" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_yhJCyboCJYc/SGzu4eOyQ-I/AAAAAAAAAS8/w2Lt4Ll7UpQ/s400/wm61.bmp" border="0" /></a>The latest versions of the Windows Mobile 6 Professional and Standard SDKs allow you to test phone and SMS functionalities using the built-in Cellular Emulator—without needing to use a physical device. <a href="http://www.devx.com/wireless/Article/38500">Learn</a> how to master the Windows Mobile emulators.<br /><div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-10703889883613842732008-07-03T08:14:00.000-07:002008-07-03T08:34:01.138-07:00在Windows Mobile中应用智能设备框架(Smart Device Framework)Sometime back in Dec 2007 I wrote an article on using OpenNETCF's Smart Device Framework (<a href="http://www.devx.com/wireless/Article/36134">Using the Smart Device Framework for Windows Mobile Development</a>). A reader from China,<br />YuanHui, has done a great job translating it into Chinese. If you are a Chinese reader, do check out the article in Chinese <a href="http://www.cnblogs.com/khler/archive/2008/07/03/1234503.html">here</a>.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-45300177255510185432008-07-03T08:08:00.000-07:002008-07-03T08:13:19.560-07:00Tip: Convert image to byte array and vice versaVery often, when you are developing a Windows Mobile application you need to convert an image displayed in a PictureBox control to a byte array. You can do so using:<br /><br /><span style="font-family:courier new;"> public byte[] ImageToByteArray(Image img)<br /> {<br /> MemoryStream ms = new MemoryStream();<br /> img.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);<br /> return ms.ToArray();<br /> }</span><br /><br />You can call this function like this:<br /><br /><span style="font-family:courier new;"> byte[] data = ImageToByteArray(pictureBox1.Image);<br /></span><br />Conversely, if you want to convert a byte array to back to an image so that it can be displayed in a PictureBox control, you can use the following function:<br /><br /><span style="font-family:courier new;"> public Image ByteArrayToImage(byte[] data)<br /> {<br /> MemoryStream ms = new MemoryStream(data);<br /> Image img = new Bitmap(ms);<br /> return img;<br /> }<br /></span><br />You can use this as follows:<br /><br /><span style="font-family:courier new;"> pictureBox2.Image = ByteArrayToImage(data);</span>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-59092790745616193262008-06-29T21:34:00.000-07:002008-06-29T21:35:24.048-07:00Build Occasionally Connected Systems Using Sync Services for ADO.NET v1.0<a href="http://bp3.blogger.com/_yhJCyboCJYc/SGhihrN3AsI/AAAAAAAAAS0/I2qja358-8E/s1600-h/syncservices.bmp"><img id="BLOGGER_PHOTO_ID_5217528498984780482" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_yhJCyboCJYc/SGhihrN3AsI/AAAAAAAAAS0/I2qja358-8E/s400/syncservices.bmp" border="0" /></a>When workers aren't always connected, Occasionally Connected Systems (OCS) can help. Find out <a href="http://www.devx.com/wireless/Article/38226">how</a> Visual Studio 8's Sync Services for ADO.NET enables OCS, synchronizing databases between different devices and computers.<br /><div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-66292071197933290702008-06-29T21:32:00.000-07:002008-06-29T21:33:49.418-07:00Persisting Data in Your Windows Mobile Device<a href="http://bp0.blogger.com/_yhJCyboCJYc/SGhiImTA38I/AAAAAAAAASs/l1lmBSLw8mI/s1600-h/persistdata.bmp"><img id="BLOGGER_PHOTO_ID_5217528068167491522" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_yhJCyboCJYc/SGhiImTA38I/AAAAAAAAASs/l1lmBSLw8mI/s400/persistdata.bmp" border="0" /></a><a href="http://www.devx.com/wireless/Article/38433">Learn</a> about the three methods of persisting data and which is the right one for your device.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-50962817556514038802008-06-19T07:53:00.000-07:002008-06-19T07:55:59.896-07:00Build Occasionally Connected Systems Using Sync Services for ADO.NET v1.0<a href="http://bp3.blogger.com/_yhJCyboCJYc/SFpzb-AkrTI/AAAAAAAAASk/j5pS6BIw5WA/s1600-h/syncservices.bmp"><img id="BLOGGER_PHOTO_ID_5213606442973834546" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_yhJCyboCJYc/SFpzb-AkrTI/AAAAAAAAASk/j5pS6BIw5WA/s400/syncservices.bmp" border="0" /></a>When workers aren't always connected, Occasionally Connected Systems (OCS) can help. <a href="http://www.devx.com/wireless/Article/38226">Find out how</a> Visual Studio 8's Sync Services for ADO.NET enables OCS, synchronizing databases between different devices and computers.<br /><div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-87876987477969292352008-06-18T02:06:00.000-07:002008-06-18T02:09:00.059-07:00New Courses - Windows Mobile & AJAX<strong>Foundation of Windows Mobile Programming (25th July 2008) - S$399</strong><br /><em>This course will introduce to participants the various techniques to program their Windows Mobile 6 devices. This feature-packed course will show you how to get started in Windows Mobile development, right from the start till deployment.<br /></em><br />* Introduction to the Windows Mobile platform<br />* Introduction to Windows Mobile 6<br /> - Windows Mobile 6 Classic, Standard, and Professional<br />* UI Design and guidelines<br /> - Orientation aware and screen-resolution aware<br />* File I/O<br />* Integrating with built-in applications<br /> - Outlook Mobile <br /> - Calendar<br /> - Tasks<br />* Web services<br /> - Developing web services<br /> - Consuming web services<br /> - Transferring binary data using web services<br />* Database Access<br /> - Database access using SQL Server Compact Edition<br /> - Database synchronization using Remote Data Access (RDA)<br />* Deploying Windows Mobile applications o Creating CAB files<br /><br /><strong>Programming ASP.NET 3.5 AJAX (28th July) - S$399</strong><br /><em>This course is targeted at Web developers who need to get jumpstarted to ASP.NET 3.5 AJAX<br />development in the shortest amount of time. It will introduce to participants the various<br />techniques to AJAX-enable their Web applications using the latest ASP.NET 3.5 AJAX framework.<br /></em><br />* Architecture of the ASP.NET AJAX Framework<br />* How to update part of a Web page without a page reload<br />* How to auto-complete user inputs<br />* How to update a panel at regular intervals<br />* How to create a panel that’s always floating and visible<br />* How to populate a DropDownList control without a page refresh<br />* How to display a confirmation dialog on a page<br />* How to call Web/WCF services directly from a web page<br />* How to access the properties of a Profile property from a Web page<br />* How to add drag and drop functionality to a control<br />* How to give users control of the information shown by a panel<br /><br />Details and application forms to be published shortly!Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-72070332266223244772008-06-16T20:37:00.000-07:002008-06-16T20:41:56.181-07:00.NET Tip - Get the filename, not the pathOne of the problems with using the <span style="font-family:courier new;">OpenFileDialog</span> class is that the <span style="font-family:courier new;">FileName</span> property always returns the full path name of the file:<br /><br /><span style="font-family:courier new;">OpenFileDialog openFileDialog1 = new OpenFileDialog()<br />{<br /> Filter = "Text files (*.jpg)*.jpg"<br />};</span><br /><span style="font-family:courier new;">Console.WriteLine(openFileDialog1.FileName); //---e.g. C:\Windows\text.txt---</span><br /><br />To retrieve only the filename and not the path, feed it to the <span style="font-family:courier new;">FileInfo</span> class, like this:<br /><br /><span style="font-family:courier new;">FileInfo fi = new FileInfo(openFileDialog1.FileName);</span><br /><span style="font-family:courier new;">Console.WriteLine(fi.Name); //---text.txt---</span><br /><span style="font-family:courier new;">Console.WriteLine(fi.Directory); //---C:\Windows---</span><br /><br />Cool, isn't it?Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-60728362265823760072008-06-04T08:18:00.000-07:002008-06-04T08:40:30.702-07:00Windows SideShow for Windows Mobile Developer Preview<a href="http://bp0.blogger.com/_yhJCyboCJYc/SEa3Oi7yKfI/AAAAAAAAASc/yvUn2T1qp7Y/s1600-h/047017661X.jpg"><img id="BLOGGER_PHOTO_ID_5208051479624165874" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_yhJCyboCJYc/SEa3Oi7yKfI/AAAAAAAAASc/yvUn2T1qp7Y/s400/047017661X.jpg" border="0" /></a>Microsoft has just released the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=79f19684-f862-4e02-a2b0-0003b4565f34&displaylang=en&Hash=apby4RmPdy9%2b%2blubV34uce9LZ5R%2fDXLZm7x5qiOEq%2bKABkROPkQ7JL8cwFlMsFErttuWTb5IMy%2fqGGppn20PGQ%3d%3d">Windows SideShow for Windows Mobile Developer Preview</a>, an application for Windows Mobile 5.0 and 6 devices that converts your Windows Mobile device into a SideShow device. Go check it out and this is a good time to check out my <a href="http://www.amazon.com/dp/047017661X?tag=weimenglee-20&camp=14573&creative=327641&linkCode=as1&creativeASIN=047017661X&adid=16XTXZQNJCFRNJS69BX0&">book </a>as well. I am proud to say that it also been translated into Spanish and Russian! ;-)Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-52017491218081264432008-05-30T01:18:00.000-07:002008-05-30T01:22:26.573-07:00Keeping Up with the Joneses: Windows Mobile 6.1's New Upgrades<a href="http://bp3.blogger.com/_yhJCyboCJYc/SD-5K3FXdUI/AAAAAAAAASU/ofnY5Qi9J78/s1600-h/wm61.bmp"><img id="BLOGGER_PHOTO_ID_5206083290499872066" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_yhJCyboCJYc/SD-5K3FXdUI/AAAAAAAAASU/ofnY5Qi9J78/s400/wm61.bmp" border="0" /></a>With their Windows Mobile 6.1 release, Microsoft attempts to keep their position in an increasingly competitive market. <a href="http://www.devx.com/wireless/Article/37981">Find out</a> how these new improvements can benefit you.<br /><div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-40906203159437695612008-05-30T01:17:00.000-07:002008-05-30T01:18:52.853-07:00Windows Mobile: Communicating with the Outside World<a href="http://www.devx.com/wireless/Article/38030"><img id="BLOGGER_PHOTO_ID_5206082358491968818" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_yhJCyboCJYc/SD-4UnFXdTI/AAAAAAAAASM/-J5mHOs_7VA/s400/wm_network.bmp" border="0" />Explore</a> the various options available on the .NET Compact Framework that allow your apps to connect with the outside world.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-55202879107666729852008-05-27T08:27:00.000-07:002008-05-27T08:34:50.541-07:00Learning Windows Communication Foundation course (16th June 2008)<a href="http://bp0.blogger.com/_yhJCyboCJYc/SDwo53FXdSI/AAAAAAAAASE/iHh5WNcLp24/s1600-h/ticketingsystem.bmp"><img id="BLOGGER_PHOTO_ID_5205080243837564194" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_yhJCyboCJYc/SDwo53FXdSI/AAAAAAAAASE/iHh5WNcLp24/s400/ticketingsystem.bmp" border="0" /></a>If you have not enrolled in the <strong>Learning Windows Communication Foundation</strong> course yet, be sure to do so this week as the early bird discount ($100; fee is $299 after discount) ends this week. After that, the full price of $399 will apply.<br /><div></div><br /><div>Here are the things you will learn in this course:</div><br /><div>• Introduction to the Windows Communication Foundation</div><div>• The ABCs of WCF</div><div>• Developing WCF Service Library using Visual Studio 2008</div><div>• Developing a WCF Service and consuming a WCF Service</div><div>• Consuming a WCF Service asynchronously</div><div>• Deploying WCF Services</div><div>• Implementing Callbacks using WCF</div><div>• Implementing Transactions using WCF</div><div>• Securing WCF Services </div><br /><div></div><div>In addition, you will:</div><div>* build a Cinema Ticketing application project using WCF that shows in real-time the number of seats booked and seats remaining!</div><div>* learn about the latest synchronization technology using Sync Services for ADO.NET and how you can synchronize your database over a WCF service.</div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-54312347476206031962008-05-20T02:20:00.000-07:002008-05-20T02:23:15.275-07:00Learning Windows Communication Foundation (WCF) - 16th June 2008 (Mon)<a href="http://bp3.blogger.com/_yhJCyboCJYc/SDKX9qyJkxI/AAAAAAAAAR8/iFx3ofgEe3k/s1600-h/Learning+WCF.bmp"><img id="BLOGGER_PHOTO_ID_5202387605278790418" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_yhJCyboCJYc/SDKX9qyJkxI/AAAAAAAAAR8/iFx3ofgEe3k/s400/Learning+WCF.bmp" border="0" /></a>By now, you must have heard of one of the latest buzzwords in the industry – WCF (<em><strong>Windows Communication Foundation</strong></em>).<br /><br />According to Microsoft,<br /><br />“<em>Windows Communication Foundation (WCF) is Microsoft’s latest technology for developing service-oriented applications. WCF simplifies development of connected applications through a new service-oriented programming model. WCF supports many styles of distributed application development by providing a layered architecture. At its base, the WCF channel architecture provides asynchronous, untyped message-passing primitives. Built on top of this base are protocol facilities for secure, reliable, transacted data exchange and broad choice of transport and encoding options.</em>”<br /><br />You may also have attended numerous conference sessions on WCF. Most presentations focus on explaining the rationale and the motivation behind WCF. But what really is WCF from a developer’s point of view? How does a typical “hello, world” WCF application look like?<br /><br />In this one-day workshop, you will learn the basics of building a WCF service and how to test it. At the end of the workshop, you would have a solid understanding of the capabilities of WCF and how you can use it to develop SOA (service-oriented architecture) applications!<br /><br /><strong>DATE</strong><br />Time: 9am to 5pm.<br />16th June 2008 (Mon)<br /><br /><strong>COURSE FEE</strong><br />S$399<br />Register before 31st May and receive S$100 discount (S$299 after discount).<br />Inclusive of 1 lunch and 2 tea breaksWei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-43695735323500681132008-05-15T06:10:00.000-07:002008-05-15T06:26:40.027-07:00Free 1/2 Workshop on Windows Mobile 6 Programming<a href="http://bp3.blogger.com/_yhJCyboCJYc/SCw5iKyJkwI/AAAAAAAAAR0/dCntaxRQOIY/s1600-h/moto-q9-1.jpg"><img id="BLOGGER_PHOTO_ID_5200594928879112962" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_yhJCyboCJYc/SCw5iKyJkwI/AAAAAAAAAR0/dCntaxRQOIY/s400/moto-q9-1.jpg" border="0" /></a>Have you ever wondered how you can program your Windows Mobile 6 device but do not know how to get started? Now, you can can jumpstarted in Windows Mobile 6 programming in half a day! And for <strong>FREE</strong>!<br /><br />Here are the details:<br />* You need to bring along your own notebook for the course.<br />* You need to preinstall your own notebook with Visual Studio 2008 Professional (free 90-day trial edition is available for download from Microsoft's web site). Instructions on what to install will be emailed to selected participants.<br />* This workshop is intended for beginners to Windows Mobile development (if you are already developing Windows Mobile applications, then you are not the target audience for this course).<br />* At the end of the workshop, you will achieve the following:<br />- Learn how to get started in Windows Mobile programming<br />- Understand how to use the Windows Mobile emulators for testing<br />- Understand how to use the Cellular Emulator for testing phone and SMS messaging applications<br />- How to test your application using a real device<br />- How to deploy an application after development<br />- Basic understanding of the .NET Compact Framework 3.5<br />- Ready to embrace enterprise-ready applications<br /><br /><strong>Venue</strong><br />Motorola Enterprise Mobility Business<br />230 Victoria Street #12-06/10<br />Bugis Junction Office Tower<br />Singapore 188024<br /><br /><strong>Date: 6 June 2008 (Fri)</strong><br />Session #1: 9am to 12.30pm<br />Session #2: 1pm to 4.30pm<br /><br />As spaces are limited, registrations are on first-come-first-serve basis (subject to maximum 2 seats per company). Please send an email to <a href="mailto:weimenglee@learn2develop.net">weimenglee@learn2develop.net</a>, indicating the session you would like to attend.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-69465265005834721652008-05-03T08:36:00.000-07:002008-05-03T08:51:56.965-07:00Book - Inside Steve's Brain<a href="http://www.amazon.com/gp/product/1591841984/002-8933878-6352046?ie=UTF8&tag=weimenglee-20&linkCode=xm2&camp=1789&creativeASIN=1591841984"><img id="BLOGGER_PHOTO_ID_5196176407690746018" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_yhJCyboCJYc/SByG6YqsGKI/AAAAAAAAARs/rWZDLHWYJu8/s400/Inside+Steve%27s+Brain.jpg" border="0" /></a>If you are a fan of Apple then you must also be a fan of Steve Jobs. If that is the case, I think you will enjoy this latest book by Leander Kahney - <a href="http://www.amazon.com/gp/product/1591841984/002-8933878-6352046?ie=UTF8&tag=weimenglee-20&linkCode=xm2&camp=1789&creativeASIN=1591841984">Inside Steve's Brain</a>. Leander Kahney is also the author of <a href="http://www.amazon.com/gp/product/1593271220/002-8933878-6352046?ie=UTF8&tag=weimenglee-20&linkCode=xm2&camp=1789&creativeASIN=1593271220">The Cult of Mac</a> and <a href="http://www.amazon.com/gp/product/1593270666/002-8933878-6352046?ie=UTF8&tag=weimenglee-20&linkCode=xm2&camp=1789&creativeASIN=1593270666">Cult of iPod</a>.<br /><br />In his latest book, Leander talked about what made Apple so special, with Steve Jobs at the helm. If you think that working under a fussy and demanding boss is a bad thing, think again. The bright side to this is that your work will be much more refined and of higher quality. And that's why Apple's products are so different from the rest of the competitors.<br /><br />Overall, this book is an easy and interesting read and made me rethink about the quality of my work. If you are always curious about Steve Jobs and how he works, I strongly recommend this book. I have enjoyed it greatly and I am sure you will too. And one more thing, hug your fussy and perfectionist boss the next time you meet him at the office - he drives the best out of you.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-83747854335119003042008-05-03T08:32:00.000-07:002008-05-03T08:34:47.087-07:00Cruising the Interstate with Windows Mobile 6 Development<a href="http://bp0.blogger.com/_yhJCyboCJYc/SByGCoqsGJI/AAAAAAAAARk/zaBtFynezd0/s1600-h/mobileSR.bmp"><img id="BLOGGER_PHOTO_ID_5196175449913038994" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_yhJCyboCJYc/SByGCoqsGJI/AAAAAAAAARk/zaBtFynezd0/s400/mobileSR.bmp" border="0" /></a> One benefit of choosing Microsoft technologies for your mobile apps is an integrated, streamlined development process. <a href="http://www.devx.com/SpecialReports/Article/37718">Find </a>out how easy it is with this tutorial on the basics of developing Windows Mobile apps with the the .NET Compact Framework.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-70732586359216145932008-05-03T08:21:00.000-07:002008-05-03T08:32:25.104-07:00My new book - C# 2008 Programmer's Reference<a href="http://bp2.blogger.com/_yhJCyboCJYc/SByFGIqsGII/AAAAAAAAARc/rsSHUQxlkC8/s1600-h/c%232008PR.jpg"><img id="BLOGGER_PHOTO_ID_5196174410530953346" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_yhJCyboCJYc/SByFGIqsGII/AAAAAAAAARc/rsSHUQxlkC8/s400/c%232008PR.jpg" border="0" /></a>I guess the cat is out of the bag...I am now working hard on my latest book - <a href="http://www.amazon.com/dp/0470285818?tag=weimenglee-20&camp=0&creative=0&linkCode=as1&creativeASIN=0470285818&adid=15RKNRTXFP8F8DWY7NDN&">C# 2008 Programmer's Reference</a>. This book covers all the important things you need to know to become a proficient C# programmer. It covers C# 3.0 using Visual Studio 2008. It will also include several chapters on developing Windows, Web, Silverlight, and Windows Mobile applications. Writing this book is actually much more involved than I had earlier expected, but I am enjoying every minute of it. When will be it be out? Well, sometime 3Q this year.<br /><br />Pre-order it <a href="http://www.amazon.com/dp/0470285818?tag=weimenglee-20&camp=0&creative=0&linkCode=as1&creativeASIN=0470285818&adid=15RKNRTXFP8F8DWY7NDN&">now</a>. ;-)Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-61167766667558460962008-05-03T08:06:00.000-07:002008-05-03T08:20:25.379-07:00Kindle-ready - Practical .NET 2.0 Networking Projects<a href="http://www.amazon.com/b?node=133141011&tag=weimenglee-20&camp=212709&creative=384325&linkCode=ur1&adid=0NH7867C6QF65TM7HGMV&"><img id="BLOGGER_PHOTO_ID_5196171713291491442" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_yhJCyboCJYc/SByCpIqsGHI/AAAAAAAAARU/fI8ENqs3cUQ/s400/kindle.jpg" border="0" /></a>I am excited to learn that my book - <a href="http://www.amazon.com/dp/1590597907?tag=weimenglee-20&camp=14573&creative=327641&linkCode=as1&creativeASIN=1590597907&adid=12K93W8AX48VWD1F4AQ9&">Practical .NET 2.0 Networking Projects</a>, is now available on the Amazon.com's <a href="http://www.amazon.com/b?node=133141011&tag=weimenglee-20&camp=212709&creative=384325&linkCode=ur1&adid=0NH7867C6QF65TM7HGMV&">Kindle</a>.<br /><br />I have always wanted to be able to bring my books along with me when I travel, but I do not want to lug 10kg of paper with me. With Kindle, it is now possible to bring your favorite books with you without needing to worry about extra luggage. I think this is especially useful for technology books, which nowadays are huge - usually more than 1000 pages.<br /><br />Right now, here are the various books that I want to put on my Kindle: Silverlight, ASP.NET 3.5, WCF, and iPhone. ;-)<br /><br />If Kindle allows me to load my PDF documents onto it, I will give it a perfect score. Never mind if you say that it looks fugly...like Amazon said, when using the Kindle you are not suppose to know its presence.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-36217343813943376592008-04-17T02:15:00.000-07:002008-04-17T02:25:37.528-07:003 new Visual Studio 2008 courses in June 2008!<div><div><div>I have just launched 3 new courses in Jun 2008! Here are the 3 courses:</div><div> </div><div>Course #1: Learning C# 3.0 (11th June 2008 Wednesday)<br />Course #2: Foundation of Windows mobile programming (12th June 2008 Thursday)<br />Course #3: Programming ASP.NET 3.5 AJAX (13th June 2008 friday)</div><div><br />For more information, please download the course brochure <a href="http://base.googlehosted.com/base_media?q=hand-1540768805563275238&size=8">here</a>. </div><div> </div><div><br /> </div><div></div></div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-58457351441804633362008-04-13T17:34:00.000-07:002008-04-13T17:43:44.012-07:00Media Guide<a href="http://bp1.blogger.com/_yhJCyboCJYc/SAKoku9_U4I/AAAAAAAAAP8/qVl0746uBOg/s1600-h/ASP_200804.gif"><img id="BLOGGER_PHOTO_ID_5188895069721023362" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_yhJCyboCJYc/SAKoku9_U4I/AAAAAAAAAP8/qVl0746uBOg/s320/ASP_200804.gif" border="0" /></a>Wei-Meng Lee introduces the Silverlight MediaPlayer control, and demonstrates how to use it to save development time and effort.<br /><br />Download the free PDF issue of aspnetPro magazine <a href="http://www.aspnetpro.com/PDF/Issues/aspAPR2008.pdf">here</a>.Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-65984910757559624252008-04-13T17:33:00.000-07:002008-04-13T17:34:29.421-07:00Implementing Drag and Drop in Your Windows Application<a href="http://bp2.blogger.com/_yhJCyboCJYc/SAKmi-9_U3I/AAAAAAAAAP0/_pasBj0695k/s1600-h/code-march08.jpg"><img id="BLOGGER_PHOTO_ID_5188892840632996722" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_yhJCyboCJYc/SAKmi-9_U3I/AAAAAAAAAP0/_pasBj0695k/s320/code-march08.jpg" border="0" /></a>One of the important features of Graphical User Interfaces (GUI) is drag and drop.Using a mouse you can drag and drop a file from one location to another or you may drag a file and drop it onto an application to launch it.<br /><div><br />However, not many developers take the effort to implement drag and drop functionality in their applications. While it does take considerable effort to implement, the support for drag and drop in your application will greatly increase its usefulness. In this <a href="http://code-magazine.com/Article.aspx?quickid=0803041">article</a>, I will show you how to implement drag and drop functionality in your Windows Forms application.</div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-46728537685317301312008-04-13T17:31:00.001-07:002008-04-13T17:32:16.035-07:00Adding Multi-Touch to Your Windows Mobile Application's User Interface<a href="http://bp1.blogger.com/_yhJCyboCJYc/SAKl9u9_U2I/AAAAAAAAAPs/92st_EX_cwE/s1600-h/multitouch.bmp"><img id="BLOGGER_PHOTO_ID_5188892200682869602" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_yhJCyboCJYc/SAKl9u9_U2I/AAAAAAAAAPs/92st_EX_cwE/s320/multitouch.bmp" border="0" /></a>What if you could convert your devices to use the kind multi-touch technology you see in an iPhone? It requires modifications to the OS and an overhaul to the entire UI, but it can be <a href="http://www.devx.com/wireless/Article/37508">done</a>.<br /><div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-87322223670355410502008-04-13T17:30:00.001-07:002008-04-13T17:30:51.681-07:00What's New in Visual Basic 9.0? Part 2<a href="http://bp0.blogger.com/_yhJCyboCJYc/SAKlse9_U1I/AAAAAAAAAPk/NIhoRu8eWdo/s1600-h/vb9part1.bmp"><img id="BLOGGER_PHOTO_ID_5188891904330126162" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_yhJCyboCJYc/SAKlse9_U1I/AAAAAAAAAPk/NIhoRu8eWdo/s320/vb9part1.bmp" border="0" /></a>The release of Visual Studio 2008 updates Visual Basic to version 9.0, with several key language enhancements and LINQ support. <a href="http://www.devx.com/dotnet/Article/37474">Part Two</a> of this series will walk you through VB 9's new LINQ support features and other time-saving enhancements.<br /><div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.comtag:blogger.com,1999:blog-7474758.post-77088486456456696572008-04-13T17:27:00.000-07:002008-04-13T17:29:49.910-07:00What's New in Visual Basic 9.0? Part 1<a href="http://bp0.blogger.com/_yhJCyboCJYc/SAKlde9_U0I/AAAAAAAAAPc/Kc9I1PUITao/s1600-h/vb9part1.bmp"><img id="BLOGGER_PHOTO_ID_5188891646632088386" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_yhJCyboCJYc/SAKlde9_U0I/AAAAAAAAAPc/Kc9I1PUITao/s320/vb9part1.bmp" border="0" /></a>The release of Visual Studio 2008 updates Visual Basic to version 9.0, with several key language enhancements and LINQ support. <a href="http://www.devx.com/dotnet/Article/37271">Part one</a> of this series will walk you through using nullable types, type inference, the If operator, and other time-saving enhancements.<br /><div></div>Wei-Meng Leehttp://www.blogger.com/profile/04962345162039377772noreply@blogger.com