Sign in to follow this  
jwezorek

3rd Party alternative to WinForms Designer?

Recommended Posts

I'm assuming your requirements are that it's cross-platform?

http://www.mono-project.com/archived/winforms_designer/

It might be outdated, but perhaps it still works. I haven't tried it.

 

Actually not ... looking for one that sucks less.

specifically 

  • Easier to select/navigate nested layout panels
  • better handling of DPI issues e.g. allow toggling between DPIs in design view.

MS's product is fine but seems like it hasnt been updated in ages and does have some problems. I can't get specific about the DPI stuff but it just feels like there are bugs there.

Edited by jwezorek

Share this post


Link to post
Share on other sites

I'm assuming your requirements are that it's cross-platform?

http://www.mono-project.com/archived/winforms_designer/

It might be outdated, but perhaps it still works. I haven't tried it.

 
Actually not ... looking for one that sucks less.

specifically
  • Easier to select/navigate nested layout panels
  • better handling of DPI issues e.g. allow toggling between DPIs in design view.
MS's product is fine but seems like it hasnt been updated in ages and does have some problems. I can't get specific about the DPI stuff but it just feels like there are bugs there.


Are there any non-winforms editors that you like? You could take one of those and, since the .designer.cs files are pretty trivial to write a code generator for, you could write a converter.

WPF might be a better bet since it's vastly more flexible, but it's also more cumbersome to deal with IMO. I usually just use WinForms since it's dead simple and I don't need anything fancy. Edited by Nypyren

Share this post


Link to post
Share on other sites

WinForms does not handle DPI.

 

It does, but the handling is pretty much awful. My best success with DPI on Winforms so far has been to explicitly disable it in the manifest, letting Windows scale up the application automatically. Results in some blur, but at least it's consistent. I don't remember exactly what was our primary issue, but I think it was related to custom drawing of controls. That part doesn't scale automatically or something while other things do.

Share this post


Link to post
Share on other sites

Can't just switch to WPF because of a 100,000 lines of legacy code. This is for my day job ... some people are working on updating our UI by reskinning with custom controls in WinForms. Multi-DPI mostly works modulo problems. A big problem is VS Design View related. Sometimes when you just open a dialog VS will modify it to make it use the DPI you have opened it at or something like that. Not sure exactly ... just general diffiulties probably resulting from the fact that the last time anyone at Microsoft touched any of this stuff 90% of computers ran at 96 DPI.

Anyway usually there are competing products for everything, was surprised my Google Fu was not revealing even a single drop-ip replacement for the WinForms Forms editor so asked here.

Share this post


Link to post
Share on other sites

Can't just switch to WPF because of a 100,000 lines of legacy code. This is for my day job ... some people are working on updating our UI by reskinning with custom controls in WinForms. Multi-DPI mostly works modulo problems. A big problem is VS Design View related. Sometimes when you just open a dialog VS will modify it to make it use the DPI you have opened it at or something like that. Not sure exactly ... just general diffiulties probably resulting from the fact that the last time anyone at Microsoft touched any of this stuff 90% of computers ran at 96 DPI.

Anyway usually there are competing products for everything, was surprised my Google Fu was not revealing even a single drop-ip replacement for the WinForms Forms editor so asked here.

 

How much of your 100,000 lines of code is actually interacting and caring about the UI?  Win Forms has been an unsupported zombie for a while, which is why it has so many DPI issues.  Long run, you're better off abstracting your code so that it's more shielded from UI changes, and then swapping to another UI framework.  It'll be painful, and I'm sure management won't like it, however.

Share this post


Link to post
Share on other sites

Can't just switch to WPF because of a 100,000 lines of legacy code. This is for my day job ... some people are working on updating our UI by reskinning with custom controls in WinForms. Multi-DPI mostly works modulo problems. A big problem is VS Design View related. Sometimes when you just open a dialog VS will modify it to make it use the DPI you have opened it at or something like that. Not sure exactly ... just general diffiulties probably resulting from the fact that the last time anyone at Microsoft touched any of this stuff 90% of computers ran at 96 DPI.

Anyway usually there are competing products for everything, was surprised my Google Fu was not revealing even a single drop-ip replacement for the WinForms Forms editor so asked here.

 

  1. Do not modify WinForms stuff from computers with different DPI scaling enabled! It completely fucks up if you do that.
  2. If it's an option for you, consider just disabling all DPI support and let Windows deal with it instead. If you do that, you can code as if DPI stuff doesn't exist and Windows will magically just scale up everything to match user settings. 
      <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
          <dpiAware>false</dpiAware>
        </asmv3:windowsSettings>
      </asmv3:application>
    

Share this post


Link to post
Share on other sites

How much of your 100,000 lines of code is actually interacting and caring about the UI?  Win Forms has been an unsupported zombie for a while, which is why it has so many DPI issues.  Long run, you're better off abstracting your code so that it's more shielded from UI changes, and then swapping to another UI framework.  It'll be painful, and I'm sure management won't like it, however.

Unfortunately, quiet a bit of it, it's a heavily custom UI, lots of custom controls, places that customize down at the win32 level -- old desktop application, and lots of places where business logic is mixed in with the GUI. There was an initiative to port to WPF about two years ago but it failed basically.
Here's the thing though: at this point is WPF even necessarily better supported than WInForms? I'd argue that WinForms might actually be more stable *because* it is older; whereas, WPF is now in maintenance mode too but in my opinion a lot of it never fully matured. I mean like at another job I remember there being performance problems when trying to put 100,000 or more items in a WPF listview unless you made it virtual etc. seemed to me the kind of stuff that would have been fixed if MS was still 100% behind WPF as their flagship desktop platform.

Edited by jwezorek

Share this post


Link to post
Share on other sites

MS's product is fine but seems like it hasnt been updated in ages and does have some problems. I can't get specific about the DPI stuff but it just feels like there are bugs there.

 

The reason it has not been touched in ages is that WinForms is very old tech, MS ditched it a while back for WPF and the various flavours that has been through to get to Win10 apps.

Expect it it live on for legacy code but nothing new will ever be added to it imho, similar to the way MS dumps their DB access toos every x x years for new tech.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this