Nancy Street

csutylib

Click to see the Site Map
HomeInfoMusicGalleryPetsGeoHobbiesGeo
Site MapWhat's NewRecent ChangesContactsServer StatisticsSite Information Home « Computers « csutylib

csutylib Overview

Greg's commentary:

The csutylib library project generates a DLL containing general purpose utility classes written in C# code under the Microsoft .NET version 2.0 Framework. The library contains a miscellaneous mixture of classes and Forms custom controls that grew haphazardly over a period of a few years. All programmers seem to collect important utilities that affect their productivity, and this is my personal set.

The source code might appear a bit jumbled and messy, but this is simply because it's the product of hobby coding. I'm making the full source code available anyway, as there might be some code and techniques that will be of interest to other developers. Please feel free to copy the code in any way that suits you for your own use. An optional credit is all that I might ask as thanks, but please let me know if you find any errors or make any improvements, as I'd like to keep the library up-to-date.

Contents summary

XmlOptionBase A base class that provides methods for a class of "options" properties to be easily saved and loaded from and xml format file. If you need to save and reload a class of options in a lightweight and easy way, then this class can help. See the comments in the class source.
FileBasedResourceManager
FileBasedResourceSet
These interesting classes show how the standard resource management base classes can be extended and reused to load resources from resx files at runtime, rather than having them embedded in the binaries at compile time.
ColorPicker A Forms custom control that pops-up a compact and attractive colour picker that mimicks the look of the standard one in the PropertyGrid.
ConnEditDialog A simple but helpful Forms dialog that edits connection strings, very useful in the PropertyGrid.
LogList A Forms custom control that displays logging messages and exception details in a self-contained ListBox. This control is one implementation of a general purpose logging interface.Expanded in release 3.2 to have neater appearance and a context menu for the list properties and font.
ProgressSmooth A Forms custom control that displays progress in the "smooth" format that is available in Win32 but not in the .NET 1.x Framework.
LabelPathTrunc An enhanced Label that displays file paths with the standard '...' ellipsis truncation when the string exceeds the control width.
RandEcuyer
RandMT
A set of highly reliable and effective random number generators backed by strong mathematical theory. RandMT is a C# port of the Mersenne Twister algorithm.
RecentList A class that encapsulates a case insensitive history stack of strings in the style familar to "recently used file" lists. The list can be loaded and saved to a string array.
SafeLineFileStream A class that reads "strings" from a file in a conservative manner, throwing if the file is not a well formed text file.
XmlSerializerSectionHandler The ultimate general purpose config section parser.
Utils

A large set of static functions that perform a wide variety of utility functions typically required by most developers. The methods are grouped into these broad categories:

  • Cryptography
  • HTML Encoding
  • Object Converters
  • Bytes-String Conversions
  • String Manipulation
  • Exception Manipulation
  • XML Utilities
  • Forms Control Utilities
  • DataSet Utilities
  • Hashtable Utilities
  • File and Folder
  • "Empty" Testing
  • Other Miscellaneous

-- Greg Keogh (29-JUL-2007)

Versions

3.6.0.0 29-Jul-2007 : Many small improvements and additions during the migration to Framework 2.0 and Visual Studio 2005. None of the changes break anything significant, but small changes may be needed if you were using earlier versions.
2.1.0.0

21-Sep-2006 : Fixed an ancient and stupid bug where the LogList control and the LogItem class did not copy themselves to the clipboard correctly as text or xml. These ancient classes are old now and need to be rewritten properly (when hobby time permits one day!).

Download

csutylib_proj.zip (8KB) - Zip of the full csutylib Visual Studio 2005 solution. The solution includes an NUnit project that drives the library and demonstrates how it can be used. Also included is a Forms application that tests the UI aspects of the library.


Contact Information | PGP Keys | Site Map | What's New | Visitor Book
Last Updated: 10-Feb-2008 21:35
Copyright © 1999-2007 Orthogonal Programming