You want an anagram-finding program written in the C# .NET platform and Windows Forms. It must works instantly and is free and simple. Simply type in some letters and the anagrams must appear instantly on your screen. Use the Anagram Free Finder application developed by Dot Net Perls.

This article is an interesting summary of parts of my third open-source project, called Anagram Free Finder. It is a C# program that is blazingly fast at finding anagrams and displaying them. It is orders of magnitude faster than the obvious solutions to the problem. It is available for download now.
The program was designed iteratively and very slowly. I spent months and years tinkering with C and C++ and designing complex data structures for Scrabble and anagrams. Then port the code to C# and turn it into something that can be used outside of my own computer. The program is extremely fast and simple. The solution contains about 400 lines of code.
The anagram finder uses the DAWG data structure for performance. The directed acyclic word graph is why the program is fast (see the Optimization section below). It is essentially a tree of letters where the first and last parts are all shared in memory.
Directed Acyclic Word Graph
Here we note that LINQ is a profoundly useful technology, and I use it to sort the results of the search from longest to shortest in length. I have an interesting article on exactly that, and that came in handy here.
Sort Strings by LengthIt uses Windows Forms. There are a few important parts of the user interface for this program. I put my experience to use when designing it and the interface was finished within only a few minutes, and it looks good in my opinion and when compared to similar programs. Here are some relevant controls to consider.
Usage of TableLayoutPanel. It uses a TableLayoutPanel with controls. All of the controls are contained within a TableLayoutPanel control. This allows them to be easily arranged and oriented.
TableLayoutPanel in Windows FormsUsage of ListBox control. The word list is represented using a ListBox control in Windows Forms. It also uses the DataSource. The words are put in the ListBox simply by assigning the DataSource property. This works very well and in my experience, this is the easiest for the runtime to deal with.
DataSource ExampleUser interface details. It has a hyperlink in the corner. There would be no point of this program if I didn't get any credit for it. Click on the link if you use it, at least a couple times. It shows the word count. I use special plural logic to display the correct numbers and words in the bottom left.
Here we note some of the optimizations that went into the finished program. In version 2 of the application, I sought to make the code tidier and faster. There were many housekeeping tasks, such as pulling constants into const members, and general commenting and tidiness issues.
Version 1
No optimizations
1250 ms
Version 2
Changed from char Dictionary to int array
826 ms
Version 3
Iterate through numbers in loops, not chars
764 ms
Version 4
Removed ToLower and replaced with char ranges
733 ms
Version 5
Use char array instead of strings to keep progress
436 ms

This program can find all the anagrams for a fairly typical word of 6 letters in half a millisecond. Programs that iterate through word lists to find anagrams would take about half a second to do the same. The end result is that the method I use in this program runs 1000 times faster than the obvious method.
Here we looked at an implementation of an anagram program written for the .NET Framework. You can download an anagram finder that beats every other anagram finding program. There is no need to pay $8.00 for a similar program. This program uses 1985 technology, which is still unbelievably fast these days. Finally, the most important part of this project is to learn and have fun with algorithms and puzzles.
MSDN site Algorithm Examples