Monthly Archives: December 2016

Extract text from a metafile in C#

The example Enumerate the records in a metafile in C# shows how to list the records in a metafile. This example lists the records, looks for those that represent DrawString commands, and extracts their text. The following code shows the … Continue reading

Posted in algorithms, graphics | Tagged , , , , , , , , , , , | 2 Comments

Enumerate the records in a metafile in C#

The example Display a Windows metafile (wmf) in C# shows how to draw a metafile. This example shows how to enumerate the records in the metafile that represent its drawing commands and draw only some of them. When you enter … Continue reading

Posted in algorithms, graphics | Tagged , , , , , , , , , | Leave a comment

Draw an interesting pattern of circles in C#

This program simply draws an interesting arrangement of circles. I wrote it because a C# Helper post was mentioned on this Factal [sic] Patterns & Art page. This program uses the following code to draw the circles and connecting lines. … Continue reading

Posted in algorithms, drawings, geometry, graphics, mathematics | Tagged , , , , , , , , , , , , | Leave a comment

Use BeginInvoke and callbacks to perform tasks asynchronously in C#

The example Use BeginInvoke and EndInvoke to perform tasks asynchronously in C# explains one way to call a method asynchronously so it can run on a separate core or CPU. In that example, the program calls BeginInvoke several times to … Continue reading

Posted in algorithms, graphics, image processing, threading | Tagged , , , , , , , , , , , , , , , , | Leave a comment

Use BeginInvoke and EndInvoke to perform tasks asynchronously in C#

This example uses the Emboss method to create embossed images. How that method works isn’t important to the discussion of working asynchronously so it isn’t covered here. Download the example to see how it works. The only thing about that … Continue reading

Posted in algorithms, graphics, image processing, threading | Tagged , , , , , , , , , , , , , | Leave a comment

Use base insets with custom end caps in C#

The example Draw lines with custom end caps in C# shows how to draw lines with custom end caps. For example, using those techniques you can draw lines with arrowheads or circles at the ends. The coordinate system for drawing … Continue reading

Posted in drawing, graphics | Tagged , , , , , , , , , , , , | Leave a comment

Hints for beginners without sacrificing efficiency

In my previous post, The ribbon interface: sacrificing usability for discoverability, I explain that the ribbon interface makes it easier for beginners to wander through an application’s features to discover what tools are available but that it makes it harder … Continue reading

Posted in miscellany, tips, user interface, Windows Forms programming | Tagged , , , , , , , , , , , , | Leave a comment

The ribbon interface: sacrificing usability for discoverability

Unlike my usual examples, this post is a discussion of an important design technique: providing information for beginners without sacrificing efficiency for more experienced users. Next time I’ll post a follow-up and then get back to examples after that. In … Continue reading

Posted in miscellany, tips, user interface, Windows Forms programming | Tagged , , , , , , , , , , , , | 3 Comments

Loop over an array of unknown dimension in C#

The previous post Loop over entries in an array of unknown length in C# explains how to loop over the entries in a one- or two-dimensional array, but what do you do if you don’t know how many dimensions an … Continue reading

Posted in algorithms, arrays, recursion, variables | Tagged , , , , , , , , , , , , , , , , | 1 Comment

Loop over entries in an array of unknown length in C#

One way to loop through the items in an array is to hard code its length into the program. Alternatively you can use the array’s Length property to determine how many items it contains at runtime. Then if you later … Continue reading

Posted in arrays, variables | Tagged , , , , , , , , , , , , | Leave a comment