C# Corner

Resources  
  • Shuffle Game for BeginnersJan 05, 2000. This code sample is a GDI+ shuffle game aimed for beginners. Attached zip file includes the exe and the Shuffle.cs file.
  • Building the Middle Tier in the Microsoft .NET FrameworkJan 16, 2000. Building the middle tier in the Microsoft .NET Framework.
  • Creating and Using Custom Attributes in C#Feb 27, 2000. Attributes are classes that allow you to add additional information to elements of your class structure.
  • ColorDialog in C#Dec 21, 2000. A ColorDialog control is used to select a color from available colors and also define custom colors. This article demonstrates how to use a ColorDialog in Windows Forms and C#.
  • Using ListViews in C#Jan 18, 2001. As a Visual C++ user for 10 years I can say that Microsoft deserves praise for their new ListView class. The MFC ListView class was, well, unpleasant to use. C# makes life a bit easier with a richer property and method set for ListViews. Also, you can now, set the ListView to select an entire row in report mode, something that in Visual C++ you had to write a whole custom ListView control to do. Note also the nice grid lines.
  • Visual Studio .NET: Start upMar 20, 2001. The next version of Visual Studio 6.0 is Visual Studio .NET (VS.NET). In the previous versions of Visual Studio Microsoft has different menu options to pick development environment such as VC++, Visual FoxPro, Visual Basic or Visual Interdev. This version of Visual Studio has integrated everything in one IDE. The reason for that might be all development languages share common library and tools.
  • Creating a Login User ControlApr 16, 2001. In this article, we have started with an introduction to the UserControl and have learnt to use the ADO+ DataReader.As we seen User Controls simplifies several common Web application scenarios.User Controls allow developers to easily define custom controls using the same programming techniques for writing Web Forms.
  • Defining Custom Entry PointsApr 30, 2001. In this article i am going to demonstrate how we can manipulate the IL code to change the behaviour of how the .NET programme executes.
  • Working with Relational Data in ADO.NETMay 03, 2001. Working with hierarchal data was not that easy with the previous version of ADO.
  • .NET is the FutureJul 19, 2001. This has been a long time in coming. I couldn't write any more article because of some problems but finally I thought I should talk about the future of .NET. The reason is very simple, I'm getting almost 50 mails a day in my inbox just asking about the future of .NET and the comparison with other technologies. So I'm presenting my own views about the future possibilities of this technology.
  • Difference Using Directive and StatementJul 26, 2001. This article explains difference between using directive and using statement with sample example.
  • Message Box BuilderAug 14, 2001. This program will help you using MessageBox Class. Program generates code from what you choose.
  • Interface Components Interoperability Aug 27, 2001. The fundamental concept behind both COM and DCOM is the interface. An interface is an agreement between a client and an object about how they will communicate with each other.
  • Using Attributes in C#Sep 14, 2001. This article shows how to create custom attribute classes, use them in code, and query them.
  • How to create a "ComboBox button" in a toolbar in .NETNov 20, 2001. You can actually put a ComboBox in your toolbar by just dragging a ComboBox from the toolbox onto the toolbar but if you want the ComboBox to be one of the toolbar buttons, you are out of luck using the regular old ComboBox. One way around this is to use the DropDownMenu style of a ToolbarButton to create a pseudo-ComboBox.
  • Creating a Custom Data AdapterDec 03, 2001. A good programmer needs to know how to work with ADO.NET DataAdapters at the code level.
  • Custom FileDialogJan 18, 2002. The purpose of this article is to give a simple example showing how easy it is to create a custom FolderDialog.
  • Implementing IEnumerator and IEnumerable Interfaces using Inner Class in C# Feb 28, 2002. .NET framework provides IEnumerable and IEnumerator interfaces to implement collection like behavior to user defined classes.
  • Sorting Object Using IComparer and IComparable Interfaces Mar 01, 2002. The System.Collections namespace contains interfaces and classes that define various...
  • Multi-threaded Web Applications - Case II: Port ScannerMar 12, 2002. This article continues the 4-parts series of Multi-threaded Web Applications. In the first part, I have demonstrated how you can use multi-threading with ASP.NET to make a web based search engine more responsive, and to reduce the time required to compose the result. In this article, I will demonstrate how you can apply the same technique to a web based port scanner.
  • Boxing and Performance of CollectionsMar 14, 2002. In this article, I will compare some performance issues of values and references types during boxing and unboxing operations.
  • Peer-to-peer Chat Program using Asynchronous SocketMar 22, 2002. This is a simple chat program, which uses asynchronous socket to provide connection between two machines.
  • Tutorial: Working with Files and DirectoriesApr 03, 2002. One of the rich experiences in working with .NET is a huge collection of Base Class Libraries .
  • .NET Performance Counters, Part 1: Predefined CLR Performance CountersMay 13, 2002. In this article, I will describe what a performance counter is and introduce you to the predefined counters that you can use to monitor the state of the CLR while your applications run.
  • Sorting MultiColumn ListView Windows Forms ControlMay 20, 2002. If you want to sort on the first column of a ListView, simply click the Sorting in the properties Window and choose Ascending or Descending as a value. If you want to do sorting in all the columns of a ListView, you need to write custom sorting using the ListViewItemSorter property.
  • Case Study: Demo Networking Financial System May 23, 2002. In this tutorial I will discuss some of the design and development issues that one might consider when using .NET framework for developing Network affiliated applications.
  • Custom Error Handling in ASP.NETMay 30, 2002. Structured exception handling is a fundamental part of the CLR and provides .Net programmers a great way of managing errors. In addition to CLR exception system, ASP.Net also provides ways of handling errors.
  • Configuring Applications in .NETJun 06, 2002. The .Net Framework provides a very convenient and flexible way to configure applications at run time.
  • Using Installer Classes to Ease Deployment in VS.NETAug 07, 2002. In this article I will demonstrate how to incorporate installer classes with your Visual Studio .NET msi's to handle any supporting tasks that your assemblies may need.
  • Developing a Card Game using Collections and PropertiesAug 08, 2002. In this article, author develops a card game using collections and properties.
  • Understanding Garbage Collection in the .NET FrameworkAug 09, 2002. In this article we will explore the Garbage Collection feature in the .Net framework and the activities required in applications to manage resources complementing the Garbage Collector.
  • DataGrid Customization Part-II: Custom Sorting and DataGrid Column HidingAug 13, 2002. How to I get the name and index of the Column headers? How do I find out if mouse click right click was on a column
  • Creating Strongly Typed Custom Collections in C#Sep 02, 2002. In this article, author shows you how to create and use strongly typed custom collections.
  • Remoting Calls RecommendationSep 19, 2002. The goal of this article is not to describe remoting technology in details. It is more focused at the practical design and implementation mistakes development process concerning garbage collection and performance.
  • Remoting Calls RecommendationsSep 19, 2002. The goal of this article is not to describe remoting technology in details. It is more focused at the practical design and implementation mistakes during development process concerning garbage collection and performance.
  • Attributed Programming in .NET using C#Oct 04, 2002. In this article, I illustrate the power of attributed programming by examples that show a modular approach to issues that can crosscut many classes. Attributes will provide exciting software development abstractions in the future.
  • BlackJackOct 10, 2002. So as a learning experience, I decided to try writing a Blackjack game.
  • Puzzle ControlOct 15, 2002. In this application I had combined the power of C# and AI in order to solve the "puzzle problem".
  • Customize User Interfaces and Pass User Input to Installer ClassesOct 19, 2002. In this article I am going to demonstrate how to customize your MSI install to prompt the user for some information and then pass this information to an installer class. This can be useful when needing to do something during an install based on the user input.
  • Platform Invocation Services in .NET FrameworkOct 25, 2002. This article will cover the details of Platform Invocation Services provided in .Net Framework. Platform Invoke Services acts as a bridge between the managed and unmanaged code. This service enables managed code to call unmanaged functions which are being exposed by any dynamic link libraries (DLL’s) such as Win32 API’s or any custom DLLs.
  • Maze Solver Oct 28, 2002. Solving mazes is one of those problems, at least with the algorithm I've chosen here.
  • Customize User Interfaces and Pass User Input to Installer ClassesOct 29, 2002. In this article I am going to demonstrate how to customize your MSI install to prompt the user for some information and then pass this information to an installer class. This can be useful when needing to do something during an install based on the user input.
  • FreeCell Game using Windows FormsNov 14, 2002. FreeCell is an implementation of the FreeCell card game using Windows Forms.
  • Daleks in .NETDec 11, 2002. The other night my girlfriend dragged me down to the NYC Public Library claiming that they had a huge Science Fiction movie section. Admittedly my taste in movies and my wife's taste in movies can vary slightly, however, I was willing to take a chance, given that rentals at the library are free as opposed to $4 at the local video store.
  • Working with Portable Network Graphics(PNG) Format : Part IDec 13, 2002. First off, why use PNG instead of GIF? Probably the most important reason is that GIF supports a maximum of 256 colors.
  • Using Stored Procedures in Conjuction with DataAdapterJan 09, 2003. A stored procedure is a named collection of SQL statements that are stored in the database. To the client a stored procedure acts similar to a function.
  • DTS Custom Task in C#Jan 28, 2003. During last year I wrote an article about DTS and how to use it in C#. In that article I stated that I didn’t manage to solve the problem related to CustomTask. Today I finally forced myself to tackle that problem again and here is the result. Writing simple CustomTask in C# is the easiest part.
  • Project Trilma .NETFeb 19, 2003. In 1883 George H. Monks from Boston designed Halma, an interesting board game with simple rules.
  • Missile Command .NET Feb 23, 2003. Missile Command .NET is a simple video game written in C# using GDI+ for graphics. It's a tribute to the classic Missile Command game by Atari. I wrote this game to teach myself more about programming in C#.
  • Developing Secure Web Sites with ASP.NET and IIS: Part IMar 04, 2003. Developing security for a site is like paying tax. You know it should be done at the end of financial year. But you keep it for the last and some time expect you should never have to do it. It is a similar kind of situation when building a web site. There are some web sites available to general public that can be access by any one. The security for these sites can be minimum or none at all. There are some web sites that publish and hold important information that have to be secure one way or another.
  • Developing Secure Web Sites with ASP.NET and IIS - Part IMar 04, 2003. Developing security for a site is like paying tax. You know it should be done at the end of financial year.
  • Execution-Time Code Generator for C#Mar 06, 2003. The Common Language Runtime provides a new way of doing things. The compile-time world still exist, but it is also possible to build dynamic systems where new code is added by loading assemblies or even by writing custom code on the fly.
  • Dots GameMar 06, 2003. Here is a dots game developed using C# and GDI+. New version of the game will be coming soon.
  • Basics of Extending Your Working Environment in Visual StudioApr 10, 2003. Visual studio.net offers a wide variety of options, which enable the user to create custom and personalized Visual Studio working environments.
  • Basics of Extending Your Working Environment in Visual StudioApr 10, 2003. All of us have used Macros in Microsoft Office and Add-ins in Visual Studio 6 and I am very sure all of us have been impressed as well by their power to control their own working environment.
  • C# Video PokerApr 14, 2003. This Video Poker game is an imitation of a casino Video Poker machine. It is written using Windows Forms.
  • Dynamically Setting Properties of a Class from a DatabaseMay 12, 2003. This example demonstrates a powerful feature of Reflection that will allow you to dynamically set the values of a class.
  • Implementing Custom Paging in ASP.NET DataGrid ControlJun 01, 2003. This article shows you how to implement custom paging in ASP.NET DataGrid control.
  • Sorted List and Web Server ControlJun 09, 2003. This article shows you to take advantage of SortedList in data binding with Web Server controls.
  • Custom ComboBoxJul 11, 2003. The attached source code is a C# application that demonstrates how to create a custom ComboBox control in Windows Forms.
  • Output ASP.NET Page to HTMLJul 29, 2003. There are various reasons why it would be more appreciative to have the html page to be served to client.
  • Lingo Game in C#Jul 30, 2003. It is a Lingo game developed in C#. It is based upon Game Show Network's Lingo but has a few modifications to it.
  • Custom Exceptions using Microsoft Exception Management Application BlockSep 02, 2003. This article shows you how to use Microsoft Exception Management Application Block to write custom exceptions.
  • In Depth ASP.NET using ADO.NET: Part IIINov 18, 2003. In this article we will discuss a number of ways to retrieve, show, and update data with ASP.NET forms using ADO.NET. Also, we will have a clear idea about the most common server controls in ASP.NET.
  • Automatically Break into Code When Calling Debug.AssertDec 22, 2003. This sample creates a dll that once referenced by your ASP.Net or Web Service app, just adding a small block of xml into your web.config file will cause the debugger to automatically break into your code.
  • Deployment: Customizing your .NET deployment ProjectsDec 29, 2003. The fact of the matter is that Visual Studio.NET already contains everything you need to create a rich setup experience for your users. In this article we are going to show you two ways to add a readme dialog to your application, the easy way and the hard way. The easy way requires absolutely no coding. The hard way requires coding and actually allows you to add complex custom features to your application.
  • Real Life SQL and .NET: Part IIIJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET :Using SQL with C#: Part VIIIJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET : using SQL with C#: Part XIJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET: Part IJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET: Part VIJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET : SQL Subqueries: Part VIIJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET: Part IIJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET: Part VJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET: Part XIIJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET : using SQL with C#: Part XJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET : Using SQL with C#: Part IXJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • Real Life SQL and .NET: Part IVJan 13, 2004. Welcome to the world of SQL and the huge, growing database technologies of today’s business all over the SQL world. By reading this article, we have begun accepting the knowledge that will soon be required for survival in today’s world of relational database and data management. Alas, for the reason that it is first necessary to provide a background of SQL and cover some preliminary concepts that we need to know, the majority of this article is text in paragraph format.
  • DataTable in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataView in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataSet in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • Data Binding in DataGrid Control using C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataAdapter in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataReader in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • DataTable Events in C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • Constructing a DataTable using C#Feb 17, 2004. The ADO.NET DataSet is a data construct that can contain several relational rowsets, the relations that link those rowsets, and the metadata for each rowset. The DataSet also tracks which fields have changed, their new values and their original values, and can store custom information in its Extended Properties collection. The DataSet can be exported to XML or created from an XML document, thus enabling increased interoperability between applications.
  • New Features in C# 2.0 : Part 2Mar 10, 2004. In this article I will talk about iterators, anonymous methods, and partial classes.
  • Shopping Cart Application in ASP.NETApr 22, 2004. This is an online shopping cart application written in ASP.NET and C# where user can browse, add items to the shopping cart and place orders.
  • Tablet PC Ink Editing Modes - Select and Delete InkJun 25, 2004. In my previous articles, I discussed how to use Ink and set its properties to draw on a Windows Forms and Windows controls. In this article, I will discuss some more features of Tablet PC Ink including selecting and deleting ink, Ink collection, and Ink object.
  • Avoid Memory Leaks with Destructor and DisposeJul 01, 2004. Here are two classes that allocate resources, the first class needs to implement a custom destructor and standard Dispose, but the second class doesn't need either.
  • Thread Safe Collections ArrayList and QueueSep 24, 2004. The attached project provides a dll containing a wrapper around the non-thread safe ArrayList and Queue classes. The wrapper implements the most common functions of this collection elements.
  • Microsoft CRM Customization: MS Exchange Transport SMTP Event SinkOct 18, 2004. Microsoft CRM has variety of customizations options and tools. The official and the most popular is Microsoft CRM SDK: collection of C#.Net and partially VB.Net classes, methods and code samples.
  • Introduction to ASP.NETNov 17, 2004. I have seen many tutorials on ASP.NET but most of them starts with coding and writing your first ASP.NET program. But here I have written this tutorial for explaining why there is a need for ASP.NET when classy ASP is working fine, what are the underlying technology behind ASP.NET, and what programming model ASP.NET provides to programmers.
  • A Chess Program using C#Nov 29, 2004. This is a chess program, made using C#. It has used object oriented concepts and design patterns like Flyweight, Factory and Decorator. Two player can play this game and it has facility to drag-drop pieces. It also shows potential positions of each pieces which is useful for learning.
  • Moving C Structures into .NET with Custom MarshalingDec 17, 2004. Microsoft provides several attributes for marshaling C to C#. In our example we will take the case where we have hundreds of structures and only a few API calls, so we only need to generate the marshaled code for the structures.
  • Best Practices of Exception ManagementMar 08, 2005. Exception management is one of the key area for all kinds of application development .You should adopt an appropriate strategy for exception management to build high quality and robust application .It is a very powerful concept and makes the development work very easy if its used efficiently.
  • Creating simple Add-in for Visual Studio.NETMar 16, 2005. An add-in is a tool that you create programmatically by using objects, methods, properties, collections in .NET's extensibility model. This compiled application enables you to automate the difficult and tedious tasks within the visual studio integrated development environment (IDE).
  • C# Custom Dial ControlMar 17, 2005. This article shows how to create and use custom dial control.
  • Localizable Message Box ControlApr 02, 2005. This is localizable MessageBox control. Buttons on standard windows message box controls are always Yes, No, Abort, Cancel, OK, Ignore, Retry. I needed different text on my message boxes so I decided to develop custom message box control.
  • Best Practices of CodingApr 13, 2005. This document covers a few recommendations to leverage the quality of the code in .NET using FXCop 1.30 and how to write custom rules through an introspection engine.

About Reason-for-custom-collection

NA

SPONSORED BY

File APIs for .NET
Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!
VSLive! Anaheim