Hacker News new | past | comments | ask | show | jobs | submit login

It's a multiple documents interface program (where one main window contains subwindows), a UI style out of fashion since the early days of Windows 95 (IIRC it was Office 97 that switched Office apps from MDI to multiple main windows for example). For some reason Microsoft hasn't updated the theming for them since Windows Vista, probably because it's such a niche thing. Even on Vista / 7, they're stuck as Aero Basic windows, rather than the actually glass ones. The Windows Forms editor in Visual Studio also using those window borders, which shows how much MS cares about that compared to XAML dialect of the week.

The Aero Basic theme is particularly horrible though, I do wonder if that particularly unpleasant shade of cyan for the borders was picked to punish those who didn't activate Windows, or were to poor to afford Home Premium.

In the end it's one of those weird forgotten things, like the Windows 3.x colour picker dialogue that still lurks in a few places like Wordpad (although MS are "solving" that).




So I think the WinForms editor thing occurs because of how windows are drawn rather than something related to Visual Studio itself. (You could see this more easily on Windows XP or whatever where if you decided to change from Luna to Olive or what have you, the WinForms designer form would change as well.)

I think it's probably an artifact of drawing the window in a particular way using the Win32 API.

For example, you can also see the "Aero Basic" style if you do a Control.DrawToBitmap on a Form control. (According to the winforms source, `DrawToBitmap` just sends a WM_PRINT message.)

I am actually mildly surprised it didn't change in Windows 10, but maybe that part of the codebase never got updated. Who knows :)

(Side note: there's also this article[1] from 2004 that describes creating your own custom "designer" type application. It's pretty old, but it might be interesting nontheless.)

[1]: https://learn.microsoft.com/en-us/archive/msdn-magazine/2004...


Supporting your point: if you set Form.TopLevel to false and then add the form as a control to another form, it'll be drawn in the "Aero Basic" style there, too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: