No Photo Available

Microsoft MVP Profile

Robbe Morris

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

Community Solutions KB Articles written by Robbe Morris

Publications

.NET Compact Framework File Deployment Tool

EggHeadCafe.com, 05/02/2005

Learn 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.

Send Mouse Click to Desktop Through Transparent Form In .NET

EggHeadCafe.com, 05/02/2005

Use the Win32 API to pass mouse clicks on thru to the desktop when your .NET Windows form isn't 100% transparent.

GDI+ Draw Rounded Corners On Rectangles

EggHeadCafe.com, 05/02/2005

Learn 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 Compact Framework Save Handwritten Signature To File

EggHeadCafe.com, 05/02/2005

Learn how to capture mouse events in the .NET Compact Framework to save handwritten signatures to a file.

.NET GDI+ - Draw Tree / Hierarchy

Robbe D. Morris, 08/18/2005

Learn 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/2005

Here'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.

.NET Compact Framework Encryption And File Transmittal With Mobile Devices In C#

EggHeadCafe.com, 05/02/2005

Learn how to use symmetric encryption and transmit the encrypted data over http on the .NET Compact Framework.

Create Icons At Runtime For The System Tray in .NET

EggHeadCafe.com, 05/02/2005

Learn 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/2005

Learn 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.

.NET Asynchronous Events To Send Process Status To User Interface

Robbe D. Morris, 09/01/2005

Learn how to implement asynchronous events in all your business layer classes to send process status to a reusable progress bar form or other user interface presentation class.

Create And Run Excel Macro At Runtime in C#

Robbe D. Morris, 08/10/2005

Learn 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.

Beginner's Guide To Creating UI, Business, and Data Layers in Applications

Robbe D. Morris, 09/01/2005

This tutorial is for beginners in .NET. Provides detailed explanations on how set up your projects for each layer in Visual Studio .NET. Explains basic concepts such as where certain types of functionality should go and why.

ADO.NET Code Generator - Map SQL Server DataBase Objects To .NET Classes

EggHeadCafe.com, 05/02/2005

Map SQL Server database tables to .NET classes, properties, and interfaces. Map SQL Server stored procedures to .NET class methods. Pre-populates input/output parameters, parameter settings, and options.

Extend Dynamic TextBox Control View State To Store NameValueCollection

EggHeadCafe.com, 05/02/2005

Learn how to extend an ASP.NET control to hold an unlimited number of additional values in ViewState to avoid expensive re-querying of the database.

Hijack Session Variables in ASP.NET

EggHeadCafe.com, 05/02/2005

Learn 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.

Map DataTable / Stored Procedure Output To Class Properties

EggHeadCafe.com, 05/02/2005

Learn how to map the output of stored procedures to your .NET classes and their properties. Also expose stored procedure outputs in intellisense for your UI and business logic developers.

.NET Compact Framework Distributed Weight Slider Control

EggHeadCafe.com, 05/02/2005

The control offers a very user friendly experience in that it allows the user to use their stylus / mouse to adjust the weight for a given decision criteria instead of typing the numbers.

ADO.NET Source Code Generator - Map Microsoft Access DataBase Objects To .NET Classes

EggHeadCafe.com, 05/02/2005

Map Microsoft Access database tables to .NET classes, properties, and interfaces. Map Microsoft Access stored queries to .NET class methods. Pre-populates input/output parameters, parameter settings, and options.

TreeView - DataBinding and Drag/Drop in Windows Forms .NET

Robbe D. Morris, 06/08/2005

Learn 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/2006

Learn 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/2006

Custom 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/2006

Writing 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/2006

Recursive 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/2006

If 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/2006

Using .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/2006

This 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/2006

Here 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/2006

TopicHound.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.

ASP.NET 2.0 - Safely Compile And Execute Source Code Dynamically

Robbe D. Morris, 10/02/2006

Learn how to dynamically compile C# source code into in-memory assemblies. Plus, learn one way to manage version control to limit the number of assemblies loaded and ensure the correct code is executed.

TreeView FAQ

Robbe D. Morris, 10/20/2006

Working 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/2006

Today'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/2007

Having 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 Icons Windows Forms - Draw Selected Color On Icon

Robbe D. Morris, 08/01/2007

Learn to draw a selected color bar on an icon for font color, fill color, and line color. Office icons with the color bar stripped are included in this code sample.

.NET PropertyGrid Control - ListBox, ComboBox, and Custom Classes

Robbe D. Morris, 07/18/2007

Utilizing 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.

.NET System.IO Read And Write Files Compared To Scripting.FileSystemObject

Robbe D. Morris, 03/08/2007

Here's a beginners guide to reading/writing text or binary files in .NET using the System.IO namespace. Includes using recursion to create and traverse a folder hierarchy tree. Shows how to convert strings to binary and binary back to strings.

MDI .NET Forms Include Docked Controls And Smaller MDIClient

Robbe D. Morris, 06/11/2007

This 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/2007

Creating 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/2008

The 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.

IIS - Create App Pools, Virtual Directories and Web Sites C# .NET

Robbe D. Morris, 07/31/2008

The following is a little helper class for managing IIS sites using C#.

WPF - XAML Change Binding Attributes At Runtime

Robbe D. Morris, 10/08/2008

Here's a brief sample on how to change the binding attributes of a TextBox at runtime.

WPF Enums in XAML And Root Addressing For Images

Robbe D. Morris, 09/08/2008

This 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.

WPF - XAML TabControl MouseEnter TabItem TextBox SelectAll

Robbe D. Morris, 09/29/2008

Quick tip on MouseEnter / MouseOver a specific TabItem in a TabControl. Includes sample of TextBox .SelectAll globally in your application.

Visual Studio .NET 2008 - Speed Up XAML Load Times

Robbe D. Morris, 08/18/2008

Do your XAML files load up in Visual Studio .NET 2008 as slow as mine? Here is a workaround that might help.

SQL Server 2005 Paging Performance Tip

Robbe D. Morris, 05/16/2008

This 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.

Silverlight Line Of Business Applications With Offline WPF Versions

Robbe D. Morris, 12/11/2008

Here are my top 10 thoughts on building line of business applications deployed both as a Silverlight and a WPF application.

Visual Studio .NET Architecture Templates

Robbe D. Morris, 06/10/2009

The 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/2009

Code 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/2009

This 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, WCF, Security And Things You Might Not Know

Robbe D. Morris, 10/09/2009

Robbe shares a few thoughts about securing Silverlight applications that reference WCF services. Includes obfuscation, SSL, encryption, security issues with reflection, WCF configurations, etc...

Silverlight Deployed To SharePoint With Active Directory

Robbe D. Morris, 10/01/2009

This code snippet offers a simplistic way to obtain the Active Directory credentials of a user accessing a Silverlight application hosted in a SharePoint page.

Silverlight Modal Dialog With Custom User Controls

Robbe D. Morris, 09/01/2009

The 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.

Top of pageTop of page