KnowDotNet Visual Organizer

Les Smith

Ask a Question, or give your feedback on my articles or products by clicking on My Blog.

Les Smith is an Independent Software Developer, currently contracting at a major medical data processing company.  Prior to assuming this position, he was an Director of Software Development at the same company.

Les has worked in all versions of Visual Basic since the debut of VB3.  He is currently doing deveopment in C#, ASP.NET, and heavily involved in .NET Remoting and ASP Web Services.

His experience ranges from developing operating systems for mainframes to developing applications and developer tools.  He has worked for several mainframe manufacturers and has made technical presentations to top information technology management in many of the largest corporations in America.  He has had project lead responsibilities in numerous commercial and goverment entities, including several NASA installations.

Les is the author of Writing Add-ins for Visual Studio .NET, published by Apress.  The book is available at Amazon.com.

He is also president of HHI Software, and he is the developer of such products as VBCommander and VBXRef200, NetCommander, NET Refactor, CSharpCompleter, and Print Object Factory.  He will soon be releasing Net Sessions, which is an add-in that maintains and tracks Session Variables in ASP.NET applications.  He is one of the partners at KnowDotNet.  

Need Help?

Got a quick Question, or if you need an Add-In or other application developed, Les is available for short term development contracts or consultation over the Internet.  Les can be reached at les@knowdotnet.com.




Articles by Les Smith

VS2008 - Using LINQ to Query From an Array (C#) -
VS2008 - Using LINQ to Query From an Array -
GenerateDefaultValueInCode in VS2005 and VS2008 -
What's New In VS2008? -
Using String.Split Intelligently Instead of RegularExpressions -
Keep up with Usernames and Passwords -
Using the ClipBoard in a Macro -
ListView Drag & Drop With Auto Scrolling in .NET (Upgraded) -
Load VS2005 Add-in In VS2008 -
Easy Way to Indent XML in a TextBox -
Passing A Delegate As a Parameter - VB.NET and C# -
Flickering While Resizing -
Convert Stored Proc to Dynamic SQL -
Replacing VB.NET Functionality in C# -
GridLayout in VS2005 - Where is It? -
Design Patterns - Singleton Pattern -
Deploying VS2005 Add-In (#2) -
Detect Compiler Errors in Application From an Add-In -
Generate Large Blocks of Code With Macros -
Accessing Values From Tools Options Window With An Add-in -
Error Installing VS2005 Add-In With Vista -
VB6 To VB.NET Gotchas -
Determining If Icon Was Clicked in ListView -
Writing Bug-Free, Maintainable Code -
New Features in VS2005 and .NET In General -
Convert VB6 to VB.NET -
Macros Will Save You Time -
Extending the CodeModel -
Inheritance and Implements Keywords -
Inheritance and Implements Keywords -
AppConfig in VS2005 -
Patterns and Best Practices -
Complex File Masking for FTP Component -
Hot Hot Keys (Short Cut) in VS2005 -
Print Contents of Grid or ListView -
Must Implement IConvertible With Microsoft Data Application Block -
Additional information: '<', hexadecimal value 0x3C, is an invalid attribute character 7/22/2006
Using GetFiles With Three Character Extension Returns Extraneous Files -
Sort ArrayList Of Objects -
Find Duplicate Records in SQL -
File Comparison with ExamDiff -
Visual Studio .NET Tips and Tricks -
Dynamically Change URL to Web Service -
Getting The Age of an Person in SQL Server Query Using UDF -
Finding Start and End Dates of Previous Week -
Search Stored Procedures with SQL in SQL Server -
Converting Access SQL to Oracle -
Search Stored Procedures with SQL in SQL Server -
Getdate() In SQL Server -
Regex for Comma Delimited Text -
Use FileStream and StreamWriter to Write One File A Day -
What are Generics in C#? -
Multiple Duplicate Keys in App.Config Files -
Integers Displayed as Hex in Visual Studio .NET -
Deploying VS2005 Add-In -
VS2005 - Windows Application With No Form -
Converting to VS2005 - 102 Late Binding Warnings -
Get XML Comments Ready for VS2005 -
Watching Keystrokes in an Add-in in VS2005 -
How to Add Nested Menus To an Add-In in VS2005 -
VS2005 Forms and Partial Classes -
Wrapping the XML Dom and XML Text Writer -
VS2005 (Whidbey) Restores VB6 Command Window Functionality Almost -
Setup Has Detected That Another Program Requires the Computer to Reboot -
Sharing Enums, Class Definitions Across Assembly Boundries -
Creating a VB.NET or VB6 Type Collection in C# Using a HashTable -
Stored Procedures, Enums, Microsoft Data Access Application Block -
Refactoring - Extract SuperClass -
Convert VB.NET to C# using Macros and Regular Expressions -
Use Threads to Keep UI Responsive and Events to Show Status -
Handling Nested ProjectItems in an Addin ( Happens in ASP.NET Projects and When Project Items are in Folders) -
Finally, VB will have a Continue Statement -
Create A VB InputBox in C# -
Invalid CurrentPageIndex value. It must be >= 0 and < the PageCount2/17/2005
Updater Application Block - Allow the User to Choose Install Folder for a Self-Updating App -
Updater Application Block - Writing a PostProcessor -
XML Document Wrapper Class -
Updater Application Block - Writing a Wrapper DLL -
Microsoft Updater Application Block - Setup Files and Directories -
Sorting ASP.NET DataGrid -
Auto Refresh of ASP.NET Page -
Minimize Code Changes When Changing URL of WebService -
Microsoft Application Blocks - Application Updater, Using the Manifest Utility -
Microsoft Application Blocks - Application Updater -
Placing Hard Returns in a Windows Forms Label -
Controls created on one thread cannot be parented to a control on a different thread -
Learn to Get By Without Microsoft.VisualBasic Namespace -
Use a Delegate for CallBack In Place of RaiseEvents -
Changing the Submit Button in ASP.NET Web Form -
Use a DataView to Print the Contents of a Sorted Grid -
Creating a Desktop Shortcut in .NET Code -
Use Convert Class Instead of Casting or CType -
Use ADO.NET Transactions to Perserve Data Integrity -
Refactor Methodology - Stub New Method -
Reusability - Visual PolyMorphism, Taking a Different Look -
Don't Load WinForms If No Processing Can Be Done -
ADO.NET SQL Shortcut - If Exists -
Refactoring - Extract Method From Event Handler Code -
Refactoring Multiple Instances of Duplicate Strings -
Convert Dynamic SQL to Use SQLCommand Parameters Automatically -
Extract Method Refactoring -
Book Review - Microsoft Visual Basic .NET Programmer's Cookbook -
Do VB.NET Developers Know About Refactoring? In C# it's the Rage! -
SelectedIndexChange Event Fires Twice in ListView -
It's Always Time to Refactor- Part III -
It's Always Time to Refactor- Part II -
It's Always Time to Refactor -
NETCommander - Visual Studio .NET IDE Enhancer (VB.NET & C#) -
Printing a Windows Form -
Rebuilding a RESX File -
Enumerating the Items in the TaskList from a Visual Studio .NET Add-in -
Writing to the Output Window From a Visual Studio .NET Add-in -
Add items to the .NET Clipboard Ring from an Add-in -
Collapsing and UnCollapsing All Regions in an Add-in -
Use ListViewItem to Load ListView With Sorting Turned On -
Collapse a Region Programatically in an Add-In. -
Performance Issues in ADO.NET DataTable Usage. -
Protect Events That Fire During InitializeComponent -
Microsoft did a Great Job with the String Object -
Compacting an Access Database While Using ADO.NET -
Use Constructor in Windows Forms to Ensure Proper Initialization -
Use Custom Properties in Forms to Standardize & Speed up RAD -
Use Visual Inheritance to Standardize and Speed RAD -
Multiple Column Formats in Windows Forms DataGrid -
Using Standard Naming Conventions in Visual Studio NET -
.NET Gotcha - VB6 Compatible Replace Function -
.NET Printing is different, but much more powerful and flexible. -
.NET Printing is Different, but much more Powerful and Flexible than in VB6 -
Using the System.IO Namespace - The Path Class -
Using the System.IO Namespace - The Directory Class -
Make A Dockable Toolbar Like the Office Toolbar -
Scrolling Forms and Windows are a Snap in .NET -
Use EditPoint Object to Get All Code From Code Window -
.NET Class Organizer -
Reordering Items in a ListView in Response to Up or Down Button Click -
Multi-Threadiing in an Add-in to Solve Timing Issues -
Using Project Level Imports in VB.NET. -
A Plug for C# From a VB Programmer -
Structures Change From Value Types to Reference Types When Boxed -
Compact Framework - Use XML Files to Replace The Registry -
Use XML Files to Replace The Registry for GetSetting And SaveSetting VB Functions -
Using Overloads and Shared Methods in .NET Classes -
New to .NET - Why does my application quit when I exit Sub Main? -
Using EditPoint to Select Code Without Disturbing the Selected Text -
Combining Regular Expressions and RichTextBox Methods to Parse Code -
Using ActiveSolutionProjects and ProjectItem.FileCodeModel to determine if a Window is a Designer or CodeWindow. -
Using ADO.NET to Serialize and Deserialize ListBox and ListView Controls to XML Files -
Building Automatic UnInstall in .NET Deployment MSI Package -
Parsing with Regular Expressions - Counting Leading Spaces in a String -
Parsing with Regular Expressions - All-Alpha-Character String -
Parsing with Regular Expressions - IsDigit -
Using Regular Expressions to Create Parsing Methods -
Using Regular Expressions - Replacing VB6 Replace -
Parsing with Regular Expressions - CountOccurrences in a String -
Using the CodeModel and FileCodeModel -
Smart TextBoxes -
Using the FileSystemWatcher in a Windows Service -
Replacing the Line Control in VB6 -
Assigning Shortcut Keys to a Macro -
Add-ins - Enumerating Selected Controls -
Migration - Creating Services in .NET -
Why Migrate - .NET Eases The Task of Accessing the Registry -
Why Migrate to .NET? Printing is different, but much more powerful and flexible than VB6. -
Serializing a ListView to XML -
Use the CodeModel to retrieve a procedure from a code window. -
C# Add-In - Use the CodeModel to retrieve a procedure from a code window. -
Selecting a Data Grid Row with Right Mouse Click -
Setting Registry Entries for Add-in Deployment -
Migrating an Add-in from VS 2001 to VS 2003 -
Differences Between Access and Oracle SQL -
Handling TreeView & ComboBox Click Events -
Modeless Dialogs in an Add-in -
ADO.NET Gotchas -
Using the DatePicker in the Compact Framework -
Empowering the CF ComboBox -
Using the FileCodeModel to Get the Code for a Method -
Closing All Saved Windows in the IDE -
Selecting Text in a Window That is not Open in the IDE -
Handling Multiple Languages in an Add-in -
Passing DataTables by Reference -
Printing Line Number with an exception in Release Mode -
Removing a Solution from Sourcesafe -
ProjectItemsEvents -
Retrieving Comments from the Top of a Class in an Add-In. -
Add-ins: Retrieving Code From a Window and Putting It Back -
Reload Component -
Creating a Colored Brush in GDI+. -
VB6 Functionality Missing from VB.NET (PrevInstance) -
Handling Null values -
Context Menus in a Visual Studio .NET Add-in -
Close All Windows but the Current Window in the Visual Studio .NET IDE -
Formatting DataGrid Columns with the CGrid Class -
Reusability of Data Access Code in ADO.NET Applications -
Auto Saving Project Items -
Add-in: Adding a Method to the End of a Document -
View One Procedure -
Writing Add-Ins for Visual Studio .NET
Writing Add-ins for Visual Studio .NET
by Les Smith
Apress Publishing