dotnet / winforms

Windows Forms is a .NET UI framework for building Windows desktop applications.
MIT License
4.37k stars 966 forks source link

Please add a modern Tab control to WinForms #7562

Open DWAK-ATTK opened 2 years ago

DWAK-ATTK commented 2 years ago

Is your feature request related to a problem? Please describe

The only problem is a lack of a modern Tab control, not a technical problem.

Describe the solution you'd like and alternatives you've considered

https://github.com/dotnet/winforms/blob/main/docs/roadmap.md told me to submit control requests here.

I would REALLY like to see WinForms gain a modern Tab control. The Windows Tab control is, meh, ok. But it doesn't have options like adding a close button to each tab. See SSMS or Visual Studio for examples of modern Tab controls.

Happy to discuss specifics if needed.

Will this feature affect UI controls?

Yes.

RussKie commented 2 years ago

Thank you for the suggestion. As per our charter, we generally expose common controls provided by Windows, and the tab control is one of those. And you're right, is has somewhat limited functionality. https://github.com/dotnet/winforms/blob/eff830b360cfdaf77ba7ba69eec53ba3dbaa3f34/src/System.Windows.Forms/src/System/Windows/Forms/TabControl.cs#L274-L279

AFAIK SSMS and VS are build on WPF, and hence have more flexibility for customisation. That said, it's possible to customise tab control taking over the drawing: https://docs.microsoft.com/dotnet/desktop/winforms/controls/controls-with-built-in-owner-drawing-support#tabcontrol-control.

If you have a specific proposal that would extend the Windows Forms tab control in a non-disruptive way we would certainly be interested in discussing it. Please follow the API suggestion guide for that.

DWAK-ATTK commented 2 years ago

Per https://github.com/dotnet/winforms/blob/main/docs/roadmap.md (emphasis mine)

We also are gathering feedback regarding what other features you'd like to see in WinForms. Please let us know if any of those or something else would be useful for your applications. You an create a feature request in this repo or vote for an existing one.

But if you guys don't want feature requests, I'm not sure why you asked for them. Well, regardless, I love WinForms - you guys have done a great job on it. Keep it up.