Results 1 to 10 of 10

Thread: Use WinForm or WPF to implement a VSCode-like UI

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,619

    Use WinForm or WPF to implement a VSCode-like UI

    I'm working on a UI framework like VSCode with VB6 and it took me almost 2 months. I've found that it's not easy to implement this seemingly simple UI with either VB6 or HTML. I wonder if it's an easy thing to do if you use .Net-WinForm or WPF to implement a vscode-like UI? I'd like to hear your thoughts and suggestions. Thanks.

  2. #2
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    39,632

    Re: Use WinForm or WPF to implement a VSCode-like UI

    I think that if you found it difficult in VB6, you'd find it equally difficult in .NET-Winforms, unless there was some third party controls that got around whatever problems you were having. The UI options in VB6 and WinForms .NET are essentially the same.

    WPF is a different matter, though. First off, WPF is a far more versatile UI designer. Secondly, WPF is a far more versatile UI designer. Not only can you do more, but because you can do more, it is harder to learn. So, yeah, you can probably do it that way, but does that make it quicker? Probably not, unless you are already quite well versed in WPF.
    My usual boring signature: Nothing

  3. #3

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,619

    Re: Use WinForm or WPF to implement a VSCode-like UI

    Quote Originally Posted by Shaggy Hiker View Post
    I think that if you found it difficult in VB6, you'd find it equally difficult in .NET-Winforms, unless there was some third party controls that got around whatever problems you were having. The UI options in VB6 and WinForms .NET are essentially the same.
    Totally agree.


    Quote Originally Posted by Shaggy Hiker View Post
    WPF is a different matter, though. First off, WPF is a far more versatile UI designer. Secondly, WPF is a far more versatile UI designer. Not only can you do more, but because you can do more, it is harder to learn. So, yeah, you can probably do it that way, but does that make it quicker? Probably not, unless you are already quite well versed in WPF.
    Yes, WPF is something completely different, just like html is something completely different for VB6. Since developing a VSCode-like UI using html is not an easy task, can WPF do it better than html? Or whether it can provide some good ideas that will have an impact on future UI design. Of course, by "good" I mean a balance between ease of use and functionality.

    It's been 30 years since VB3.0 was released, but there doesn't seem to be any breakthrough in visual programming, and there are even some regressions. Because some modern visual design tools are becoming more and more sophisticated, they seem to deviate from the original purpose of visual design, which is ease of use.
    Last edited by SearchingDataOnly; Dec 3rd, 2024 at 12:20 PM.

  4. #4
    Super Moderator Shaggy Hiker's Avatar
    Join Date
    Aug 2002
    Location
    Idaho
    Posts
    39,632

    Re: Use WinForm or WPF to implement a VSCode-like UI

    Yeah, I agree with you on that last point. WinForms was simple and quick, but had limitations. WPF was all about getting rid of those limitations, but the result is that it isn't nearly as easy to use. Anybody can drag and drop a button onto a form and be good to go. Adding a button to a WPF form isn't nearly as easy, largely because there are so many different things you can do with that button.
    My usual boring signature: Nothing

  5. #5
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,762

    Re: Use WinForm or WPF to implement a VSCode-like UI

    There are no free meals in this. The drag and drop UI design paradigm pioneered by Visual Basic is unmatched in it's ability to quickly build a UI. There is just no faster method of building a UI. However, you pay a steep price. All those complicated, beautiful UIs you see with fancy docking and widgets are impossible to achieve without some very clever wizardry using a drag and drop method of building. Declarative methods of building UIs like WPF and HTML make it far easier to design higher quality UIs but at the expense of a much steeper learning curve and a larger investment of time.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  6. #6

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,619

    Re: Use WinForm or WPF to implement a VSCode-like UI

    Quote Originally Posted by Shaggy Hiker View Post
    Yeah, I agree with you on that last point. WinForms was simple and quick, but had limitations. WPF was all about getting rid of those limitations, but the result is that it isn't nearly as easy to use. Anybody can drag and drop a button onto a form and be good to go. Adding a button to a WPF form isn't nearly as easy, largely because there are so many different things you can do with that button.
    Yes, I need to do further research into WPF to see if I can absorb some valuable features from it.

  7. #7

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,619

    Re: Use WinForm or WPF to implement a VSCode-like UI

    Quote Originally Posted by Niya View Post
    There are no free meals in this. The drag and drop UI design paradigm pioneered by Visual Basic is unmatched in it's ability to quickly build a UI. There is just no faster method of building a UI. However, you pay a steep price. All those complicated, beautiful UIs you see with fancy docking and widgets are impossible to achieve without some very clever wizardry using a drag and drop method of building. Declarative methods of building UIs like WPF and HTML make it far easier to design higher quality UIs but at the expense of a much steeper learning curve and a larger investment of time.
    Thank you, Niya. I've been trying to find an optimal balance between ease of use and complexity, and I've made some progress. At the moment, my designer can provide UI design for desk-apps and web-apps. I'd like to see if I can provide a visual design for WPF.

    I'm searching for your previous threads about WPF.

  8. #8

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,619

    Re: Use WinForm or WPF to implement a VSCode-like UI

    I took a look at Niya's examples of WPF and XAML. It seems like it's still a huge project to do VSCode-UI with WPF and XAML.

  9. #9
    Angel of Code Niya's Avatar
    Join Date
    Nov 2011
    Posts
    8,762

    Re: Use WinForm or WPF to implement a VSCode-like UI

    Quote Originally Posted by SearchingDataOnly View Post
    I'd like to see if I can provide a visual design for WPF.
    This would be a problem right off the bat because at the foundation drag/drop UI design is absolute positioning, on the other hand, WPF much like HTML uses a flow based layout system where everything is measured and positioned relative to something else. This is very difficult to facilitate using drag and drop.

    I think a good compromise would be to use drag/drop as a base and see how best you can tack on ideas from WPF and HTML.
    Treeview with NodeAdded/NodesRemoved events | BlinkLabel control | Calculate Permutations | Object Enums | ComboBox with centered items | .Net Internals article(not mine) | Wizard Control | Understanding Multi-Threading | Simple file compression | Demon Arena

    Copy/move files using Windows Shell | I'm not wanted

    C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter

    There's just no reason to use garbage like InputBox. - jmcilhinney

    The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber

  10. #10

    Thread Starter
    Frenzied Member
    Join Date
    Aug 2020
    Posts
    1,619

    Re: Use WinForm or WPF to implement a VSCode-like UI

    Quote Originally Posted by Niya View Post
    This would be a problem right off the bat because at the foundation drag/drop UI design is absolute positioning, on the other hand, WPF much like HTML uses a flow based layout system where everything is measured and positioned relative to something else. This is very difficult to facilitate using drag and drop.

    I think a good compromise would be to use drag/drop as a base and see how best you can tack on ideas from WPF and HTML.
    Good idea.

    I rewrote all the common UI components with RC6, which made it easy for my FormDesigner to implement all sorts of modern UIs.
    Attached Images Attached Images  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width