Click here to Skip to main content
11,790,904 members (65,505 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C# .NET GUI Controls WinForm
Hey community!
In work my current task is to update outdated GUI elements. It says the following:
"Some Winform-Controls like StatusBar, ContextMenu and ToolBar are outdated and should be replaced by their descendants StatusStrip, ContextMenuStrip and ToolStrip".

Does anybody know if there are more controls which could be replaced by newer ones? Is there an official list?

Thanks in advance,
Posted 4-Jun-13 3:17am
Sergey Alexandrovich Kryukov at 4-Jun-13 9:27am
I only heard about it in comments you can see in documentation. Such as:
"The DataGridView control replaces and adds functionality to the DataGrid control; however, the DataGrid control is retained for both backward compatibility and future use, if you choose." in

I would think this would be enough.

Rate this: bad
Please Sign up or sign in to vote.

Solution 1[^]

There is no official list that I can find, however as Microsoft says in the above link, the controls are "retained for both backward compatibility and future use, if you choose." Which means that they have new controls that add functionality, but MS isn't saying they are obsoleted and doesn't have a plan to remove them from the framework.
Sergey Alexandrovich Kryukov at 4-Jun-13 9:42am
That's the point: they are not really obsolete, in a strict sense. (Voted 5.)
Please see also my answer.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Please see my comment to the question. Even though anyone is free to create such a list, I don't think it could even be "official". The controls are not deprecated or claimed obsolete formally, even if some control is fully or completely superseded by a newer one. (I refer to ObsoleteAttribute, please see:[^].)

I think such list just wouldn't make much sense. Look at it in this way: when you choose some available controls for your application, you need to consider its applicability to your design first, not being "cool" or "trendy". You are the ultimate decision maker, not the trend. And you always need to spend good time at it, much more then it would be required to check the comments about some newer control superseding the one you are reading about. All controls are more or less compatible with each other and can be combined in one design.

For a record, your assumption that the newer control superseding another one should be its descendant is not correct. It shouldn't. For example, System.Windows.Forms.ContextMenuStrip is not derived from System.Windows.Forms.ContextMenu, directly or indirectly:[^],[^].

Prasad Khandekar at 4-Jun-13 10:01am
really nice answer (+5)
Sergey Alexandrovich Kryukov at 4-Jun-13 10:07am
Thank you, Prasad.
NeonMika at 4-Jun-13 10:26am
Thanks, great answer! Made it very clear.
Sergey Alexandrovich Kryukov at 4-Jun-13 11:38am
You are very welcome.
Good luck, call again.
Rate this: bad
Please Sign up or sign in to vote.

Solution 3

It's not a list - official or otherwise - but if you go to MSDN[^] and type
obsolete retained backward compatibility
as the search expresson with Library ticked as the source then you can get the information you're after (along with some other stuff - get inventive with the search expression!)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 410
1 ppolymorphe 385
2 Richard MacCutchan 118
3 Jochen Arndt 80
4 Maciej Los 70
0 OriginalGriff 1,329
1 Maciej Los 835
2 ppolymorphe 780
3 KrunalRohit 686
4 CPallini 661

Advertise | Privacy | Mobile
Web02 | 2.8.1509028.1 | Last Updated 4 Jun 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100