 |
Microsoft MVP Profile
Robbe Morris
Language(s):
Region: North America
Robbe has been awarded the distinction of Most Valuable Professional in Visual C# every year since 2004 by the Microsoft MVP team.
Robbe is a co-founder of the .NET web developer portal EggHeadCafe.com which specializes in helping other developers broaden their knowledge of the .NET Compact Framework, C#, ASP.NET, SQL Server, VB.NET, XML, and JavaScript.
Additional Competencies:
ASP/ASP.NET, SQL Server, Silverlight
|
Community Solution Articles
Publications
| • | .NET Compact Framework File Deployment Tool EggHeadCafe.com, 05/02/2005Learn how to use the OpenNETCF.org communication library to work with files, registry, shortcuts, ActiveSync events, etc. all in a user friendly deployment tool. Makes file deployments to multiple iPAQs from the same PC much less cumbersome. |
| • | GDI+ Draw Rounded Corners On Rectangles EggHeadCafe.com, 05/02/2005Learn how to draw rectangles with rounded corners from scratch at runtime. Utilizes GraphicsPath object and .AddArc, .AddRectangle, and .FillPath methods of GDI+. Also demonstrates how to draw text centered vertically and horizontally on the bitmap. |
| • | .NET GDI+ - Draw Tree / Hierarchy Robbe D. Morris, 08/18/2005Learn how to render a hierarchy collection (similar to TreeNode in the TreeView control) as a graphical image. Each data node is drawn in relationship to its parent and siblings. The class dynamically sizes the image based on the data. Also supports highlighting current threads. Can be used in a .NET Windows Form application, .NET Compact Framework, or ASP.NET application. |
| • | .NET Compact Framework Lock Down Device EggHeadCafe.com, 05/02/2005Here's a quick tip on how to disable the taskbar on your mobile devices (this code was tested on several different iPAQs of varying models). This, in combination with setting your application to run on start up, set your start up form .Minimize = false, .Maximize = false, .ControlBox = false, and .WindowState = Maximized will pretty much lock down the device while users are running the application. |
| • | Create Icons At Runtime For The System Tray in .NET EggHeadCafe.com, 05/02/2005Learn how to use GDI+ in .NET to create system tray icons at runtime for either your .NET Windows Services or .NET Windows Forms. Also, learn how to implement menues from system tray icons. |
| • | ASP.NET - Network Proxy Server Farms Causing Loss of Session Robbe D. Morris, 07/05/2005Learn how to use ScaleOut StateServer to avoid losing session in ASP.NET because of network proxy server farms. Also learn how to share cached data across all servers and across application domains in your web farm. Thus, creating a global shared object store available everywhere. |
| • | Create And Run Excel Macro At Runtime in C# Robbe D. Morris, 08/10/2005Learn how to create Microsoft Excel spreadsheets from scratch at runtime. Plus, implement VBA macro source code in your C# application and execute the code dynamically at runtime. |
| • | Hijack Session Variables in ASP.NET EggHeadCafe.com, 05/02/2005Learn how to intercept http requests and pass session variables from one user to another at runtime. The goal was to develop a way to allow a support rep to hijack a user's session variables and automatically route the support rep directly to the last page the user was on and implement their current environment. |
| • | TreeView - DataBinding and Drag/Drop in Windows Forms .NET Robbe D. Morris, 06/08/2005Learn an additional method for databinding a DataSet to a windows forms .NET TreeView control. Learn how to drag and drop nodes on the same TreeView control as well as drag and drop nodes across multiple TreeView controls while maintaining the data bound relationship with the source and target TreeView's DataSet. |
| • | .NET Generics - Sorting IList By Class Properties Robbe D. Morris, 10/02/2006Learn how to implement multiple class property sorting functionality across all of your data classes when used in .NET generic Lists. Also learn how to take advantage of generic methods for working with these properties. |
| • | .NET Number and Currency Formatting Robbe D. Morris, 10/02/2006Custom Excel like auto formatting of numbers in .NET. Demonstrates how to take an entirely improperly formatted number and reformat it any way you like. Provides an alternative way to incorporate internationalization formatting for commas and decimals. |
| • | Visual Studio .NET 2005 - Unit Tests Robbe D. Morris, 10/02/2006Writing useful unit tests takes a lot of time and a lot of thought. Not only do you need to write tests to see if it works as expected, you need to write related tests to see if it fails properly when called improperly or improper data is passed in. I've thrown together a few ideas that seem to work relatively well (and deal with some unit testing quirks regarding order of tests being run) and opted to share them with you here. |
| • | SQL Server 2005 Recursion and WITH Clause Robbe D. Morris, 10/02/2006Recursive queries (part of the SQL-1999 standard) have been added to T-SQL in SQL Server 2005 in the form of the WITH clause. The books online documentation is pretty straight forward but a few people have asked me to work up a few useful samples to help get them going. Simply copy/paste these samples into a query window and execute. |
| • | Team Foundation Server Installation Tips and Troubleshooting Robbe D. Morris, 10/02/2006If you are reading this, then you are no doubt on the edge of a nervous breakdown. The installation process for Team Foundation Server is an absolute nightmare (or what Bill refers to as Microsoft Innovation...). And, assuming you get the thing installed, you are likely to run into all sorts of problems creating new projects. With that in mind, I'd like to lay out a few tips and solutions I've researched on forums, scoured the details of log files, as well as stumbled upon potential solutions by reading the event log that can probably help you out. |
| • | .NET 2.0 Generics - Load A Business Class In A Clueless Database Layer Robbe D. Morris, 10/02/2006Using .NET 2.0 Generics and "where" and "new()" constraints, we can allow the database layer to return a List of data class objects into a List of business objects in the business layer that inherits that same data class object without any additional transformation. |
| • | .NET Reflection - Copy Class Properties eggheadcafe.com, 10/02/2006This code sample demonstrates how to copy class properties from one class to another even if they are not the same type. It also demonstrates how to validate a class's required properties dynamically. Both of these can increase your coding productivity especially when dealing with web service versions of your business classes. |
| • | Microsoft NewsGroups I regularly participate in the ado.net asp.net, c#, windows forms, and sql server programming newsgroups. My signature is Robbe Morris [C# MVP]. |
| • | SQL Server 2005, .NET, Regular Expressions, and User-Defined Functions Robbe D. Morris, 10/02/2006Here is a quick little code sample demonstrating how to utilize regular expressions from within SQL Server stored procedures. It returns the matching keys back to the user defined function in the form of a TABLE that you can iterate through. The technique described below applies to any situation where you'd like to return a resultset of records from a .NET method back into a stored procedure or user-defined function. |
| • | TopicHound.com 08/01/2006TopicHound.com is a research/pet project of mine. I've analyzed the search engine ranking strength of .net web sites. It analyzed over 24,000 keyword combinations associated with .net development and ranked the websites with related content. |
| • | TreeView FAQ Robbe D. Morris, 10/20/2006Working with a Windows Forms .NET TreeView control? This article contains code samples for the most common questions I've recevied. Things such as right click on nodes to show context menues, drag and drop nodes on the same TreeView or even another control, nudge nodes up and down in sibling order, and much more. |
| • | .NET Web Services - SOAP Exception Handling And Non-Exception Error Handling EggHeadCafe.com, 11/12/2006Today's article shows one approach to bubbling up exceptions and error messages from your business layer to your windows form UI as well as web methods when called via Web Services. It is a great beginner sample to utilizing web services and custom classes in .NET. You'll learn how to change the web service url at runtime in your windows forms application as well as how to copy class properties to and from web service reference objects to business layer objects. |
| • | .NET Windows Forms - Can't Change Docking Order Robbe D. Morris, 02/15/2007Having trouble adjusting the docking order of your controls in a .net windows forms application? Simply undocking and then redocking the controls in the order you want hardly ever works. |
| • | .NET PropertyGrid Control - ListBox, ComboBox, and Custom Classes Robbe D. Morris, 07/18/2007Utilizing a ListBox, TextBox, ComboBox, TreeView, or custom class as a property in a .NET Windows Forms PropertyGrid control can seem like a daunting task. Even resizing the PropertyGrid column widths seems impossible. Today's article will show you how. |
| • | MDI .NET Forms Include Docked Controls And Smaller MDIClient Robbe D. Morris, 06/11/2007This little code snippet demonstrates how to include various docked controls on your MDIParent form and then dynamically force the MDIClient to respect the available docking space when set to DockStyle.Fill at runtime. |
| • | .NET Setup Deployment - MSI, Cassini, SQL Server, NTFS Robbe D. Morris, 10/20/2007Creating any moderately complex MSI based installation with the Visual Studio .NET 2005 setup project is a real pain. Today's tips will include how to easily package up a single installation file, setup SQL Server 2005, execute large sql scripts, launch the application at the end of setup, configure NTFS permissions, trigger another MSI file, and auto install and configure UltiDev's Cassini Web Server. |
| • | EggHeadCafe Robbe D. Morris, 11/07/2008.NET Developer Portal |
| • | WPF - XAML TabControl SelectionChanged Threading Errors Robbe D. Morris, 09/24/2008The following code sample offers a simplistic approach to dealing with threading issues while trying to launch ModalDialogs in the SelectionChanged event of a TabControl, ListBox, or ComboBox. |
| • | WPF Enums in XAML And Root Addressing For Images Robbe D. Morris, 09/08/2008This small code sample demonstrates how to use Enum values in your XAML files. It also includes how to set the image source property in your xaml files to image resources in different assemblies such as the BusinessLogic assembly in this sample. |
| • | SQL Server 2005 Paging Performance Tip Robbe D. Morris, 05/16/2008This quick tip demonstrates how to get the total rows as part of the paging query as well as how avoid a common coding error with joins that can harm performance. |
| • | Visual Studio .NET Architecture Templates Robbe D. Morris, 06/10/2009The downloadable code sample below shows you how to create base architecture solution / project file templates for ASP.NET, WCF, WPF, and Silverlight applications. The tool enables architects to give developers standardized base architecture for new applications. |
| • | Silverlight Google Search API Robbe D. Morris, 06/10/2009Code sample demonstrating how to execute the google search API from Silverlight and return the results back into your Silverlight application. |
| • | EggHeadCafe in Silverlight 3.0 Released Robbe D. Morris, 10/05/2009This Silverlight application features a 3 dimensional article/forum topic navigation, HTML editor (HTML, SQL Server, C#, and VB.NET keyword highlighter), dockable windows, google search, and a forum watch dashboard. |
| • | Silverlight Modal Dialog With Custom User Controls Robbe D. Morris, 09/01/2009The Silverlight code sample below shows one way to launch custom user controls in a ModalDialog without the standard windows border or X to close the window. It also automatically centers the ModalDialog. |
The information contained on this page is provided 'as is' by MVPs, without warranty from Microsoft. MVPs are bound by the Microsoft terms of use. |