jfo's coding

adventures in windows forms and wpf

August, 2005

Blog - About

About jfo's coding

About JFo

Jessica (aka JFo) has 9 years experience building user interface libraries at Microsoft.   As a developer on the Windows Forms team, Jessica designed and implemented various aspects of the Windows Forms runtime for the 1.1 and 2.0 releases of the .Net Framework.  Her current project is the "Cider" designer for the "Dev10" release of Visual Studio.

About the blog

This blog is designed to talk about two different subjects: Windows Forms and the "Cider" designer for the Windows Presentation Foundation.  For a list of articles on Windows Forms, be sure to check the "Best and worst of JFos Coding by Category."

Providing WPF feedback

There are multiple ways customers can provide feedback and suggestions for Windows Presentation Foundation:

Providing Cider Feedback

Cider is in its early stages of development.  We encourage customers to send us feedback through  

Providing Windows Forms Feedback

There are several ways to provide feedback to the Windows Forms team


  • jfo's coding

    Keeping your UI Responsive and the Dangers of Application.DoEvents

    What’s the difference between Application.Run and Application.DoEvents? Application.Run continually processes window messages for your application, raising events as necessary. Application.DoEvents processes all the window messages in the queue until...
  • jfo's coding

    Keeping yourself out of trouble using SystemEvents

    Why do we need both SystemEvents.UserPreferenceChanging and SystemEvents.UserPreferenceChanged? The idea behind this is that if you have some object cached (say a brush based on a SystemColor), you would change the cache on UserPreferenceChanging....
  • jfo's coding

    Starting an application without showing a form

    There were a lot of good comments/questions about keeping your UI responsive, if you're interested in threading/application contexts etc, it's worth a peek . I thought I'd rehash something today I've already talked about, but it is buried in my how...
  • jfo's coding

    ComboBox OwnerDraw in 5 minutes

    A question came up the other day about how to add a separator to a ComboBox, and unfortunately the answer is that you need to use OwnerDraw (hand drawing everything for the combo box instead of letting the operating system paint itself) to achieve this...
  • jfo's coding

    So what IS the difference between the Resize and the SizeChanged events?

    Believe it or not *absolutely* nothing. One method calls the other. However because the latter is named "Changed" it can be used for data binding - so while I dont have any concrete proof, that's my theory on why both exist. However, if you are doing...
  • jfo's coding

    Shawn on the difficulties of shipping

    Quite often, I kid around with my fellow developers when faced with a tough design tradeoff. Sometimes I break the tension by interjecting (in a slightly whiny twang) "Coding is hard!" It's turned into a bit of a running joke around here. In fact, I should...
  • jfo's coding

    Chuck starts blogging...

    I've been following Chuck's blog, but I just feel it's not fair to keep it all to myself... [ one | two | three ]
  • jfo's coding

    It's not you, it's me...

    Sheesh ever since we've switched over to the new blogging stuff, I haven't really had the time to figure it all out. Some comment stuff changed, and well, I just realized this morning I have a bit of a backlog. I know, "excuses, excuses..." I also...
Page 1 of 1 (8 items)