Below video is from 2018, so almost 3 years old now, but somehow I only found it now. It's a handy overview into microservices, has a few gotchas such as avoiding internal communication when fulfilling client requests, to reduce latency, as well as async workflows like adding items to cart.
Here are some of the notes I took while attending Jetbrains .NET Days 2021 online event - for select sessions from Days 1 and 2. Specifically, I skipped 1 session from Day 1 (React/CosmosDB), and only watched 1 session from Day 2 (AWS/Kubernetes). This is similar to my earlier MS Build notes articles.
September of 2017 is almost gone, and only now I had a chance to look at the most recent issue of the monthly MSDN magazine. What's the hot topic in September? .NET Core 2.0 / Standard 2.0 is highly praised by most MSDN authors. One of the articles mentions a feature I did not know existed. It's called Razor pages. In short, it's the new Web Forms.
MenuStrip/ToolStripMenuItem pair is not 100% backwards compatible with MainMenu/MenuItem. One particular thing is how keyboard shortcuts work.
I have a main form which is an MDI parent and a modal form, which is a progress dialog. When loading is completed, an MDI child is opened. If it cannot be completed, an error message shows up with user prompt. Problem is if user takes action, and the modal form is closed, the focus is switched to the application, which was active before my application was started.
There is one good way to dynamically show/hide items in a ListBox - use a DataView as DataSource. You do not need to manually Add and Remove items from your list. In fact, coding effort is very low with this approach.
Suppose every once in a while in your application you need to have a popup dialog being shown. This dialog is a value picker, nothing more. It shows as many values as your screen can handle. Problem happens when list population takes considerable amount of time, say, 5 seconds. Until then you are completely unsure which size it needs to resize to.
Linearise ControlCollection tree into array of Control - generic extension method, no recursion, LINQ or GetNextControl. See attached project for usage/sample (VB.NET 4.0, Visual Studio 2010).
You do not need to implement your own HashSet for that, just use the native UnionWith extension method.
Here is a proper way to do it - inherit a class from native ComboBox and override OnDropDown to raise a custom DropDownOpening event first. If you anticipate loading to take considerable time, you can wrap your reload code into a construct like this