.net

January 3, 2005 .net

Seeing Stars in Avalon

Savas Parastatidis has posted his early work using Avalon 3D to visualize stars in the galaxy. I don't believe that I've ever seen the stars line up like that, but the screen shots are cool anyway. : )
January 3, 2005 .net

Paint.NET 2.0

And while we’re on the topic of real-world .NET Smart Client applications, you can’t not take a look at the Washington State University course work resulting in Paint.NET, an all-.NET implementation of a painting program that was initially aimed at merely replacing MS Paint Brush, but has long ago far surpassed it with painting features found only in commercial painting applications.

And, like SharpDevelop, if you like what you see and want to know how a feature was implemented, you have only to download the Paint.NET source code.

Also, don’t forget to check back in mid to late January for Paint.NET 2.1!

January 3, 2005 .net

Dissecting a C# Application: Inside SharpDevelop

APress has made Dissecting a C# Application: Inside SharpDevelop, the book that describes the history and design of SharpDevelopfreely available for download and I’m enjoying it immensely.

I’ve only read the 1st 2 chapters, but the authors have already provided me a nice overview of the major features in SharpDevelop and how they came to be over the history of the project. I’m also very much looking forward to the implementation details later in the book, particularly the add-in model, internationalization, implementing the Windows Forms Designer and, of course, code generation.

For anyone building a real client-side .NET application, this book is bound to give you clues on how to do it better. Recommended.

And as if that weren’t enough, because SharpDevelop is an open source project, if any of the features tickle your fancy, you can download the SourceDevelop code to see how they were implemented.

December 30, 2004 .net

“How Do I” Makes Me Smile

I liked the new How Do I…?” section of the references pages in the WinFX SDK before, but when I ran into the How do I make an element spin in place?” section of the System.Windows.Shapes.Rectangle (I mean, I need to make elements spin in place all the time!), I fell in love. : )

December 30, 2004 .net

Fix for VS05b1 Avalon compilation perf problems

Rob has posted a description and a couple of work-arounds to a problem some folks are having w/ 100% CPU utilization after an Avalon project is compiled in Visual Studio 2005 beta 1 + the Nov. 04 Avalon CTP + C#.

If his solution doesn’t work for you (it didn’t for me, but I think I have a weird build), under HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\CSharp\Options\Editor, try setting the UpdateRegisterDesignViewOnIdle value to 0 instead of 1. I don’t know what this turns off, but it makes the problem go away. If you trust me, I’ve put together a reg file that sets this value for you here.

BTW, if you’re wondering what happens when you turn the UpdateRegisterDesignViewOnIdle option off, it’s the feature that notices if you take a random code file and add a System.Windows.Forms.Form as a base class so that when you open the file, it’s opened in the Windows Forms Designer by default. Without this flag, VS will never notice a new Form in a code file and they’ll be no way to edit the Form in the Windows Forms Designer (not even Open With [even though every other editor is in the list…]). If you add a new Form by choosing to Add->Windows Form to the project (as most folks do), all works as expected.

However, if you absolutely need to turn a code file into a file that will open in the Windows Forms Designer, you can close the project in VS, open it in notepad and change the following:

<Compile Include=”Foo.cs”>

or the following:

<Compile Include=”Foo.cs”>
    <SubType>Code</SubType>
</Compile>

to the following:

<Compile Include=”Foo.cs”>
    <SubType>Form</SubType>
</Compile>

Thanks to Cyrus Najmabadi and Izzy Gryko — hard-working MS employees answering my emails on New Year’s Eve even when they’re officially Out Of Office — for this tips!

December 30, 2004 .net

BackgroundWorker and Sample for Compact Framework

Not only has Daniel Moth implemented the Windows Forms 2.0 BackgroundWorker component for the .NET Compact Framework, but he's also ported my pi calculation application to use this new implementation as an example of the savings in code that the BackgroundWorker component provides.
December 23, 2004 .net

Mobiform Aurora XAML Editor

Aurora is a graphical designer developed to create and edit Avalon Windows, elements, and controls. Aurora is built on top of Avalon and renders using the Avalon API. Aurora is designed for use with the November 2004 Avalon Technology Preview Community for Windows XP (CTP).”

Cool!

December 22, 2004 .net

Hosting An Avalon Application in a Browser