Visual Studio 2022 and the future of ImageBox

Started by ruland, November 14, 2021, 10:44:57 AM

Previous topic - Next topic

ruland

Hi again,

I have been using this awesome control since 2017, and I really like it. Thank you for creating and supporting it! I worked with version 1.2.0 and with an intermediate alpha version 1.3.0 Alpha1. Now I updated to VS 2022, and ImageBox surprisingly still works - as long as I use it with the old .NET framework and older versions of .NET. However, I don't seem to get it to work with the new ".NET Windows Forms application" type which uses .NET 6.0.

Before I try any further: will this control still be updated and actively supported? Will there be a version that works with newer editions of VS and .NET?

To be honest. the various places on the internet referring to Cyotek ImageBox confuse me. GitHub shows 1.1.4.6 as the latest release, so does the home page. NuGet on the other hand offers a stable version 1.2.1 and the 1.3.0 Alpha1.

I would really continue using ImageBox in my applications, but I am a bit unsure about versions, maintenance and support.

Thanks again, and best regards
Wolf

Richard Moss

Hello,

Thanks for the questions. I'm a little surprised it doesn't work, I assumed .NET "Core" would still consume framework references, unless it is specifically because ImageBox is a WinForms component. It doesn't matter which version of Visual Studio you choose to use, it's all to do with the framework target of your applications.

I know ImageBox hasn't had any updates for a while but for the most part it doesn't actually need any. The panning stuff in the 1.3 alpha is a bit dodgy and needs improving on, and I still want to strip out its inheritance chain and do scrolling manually to make some behaviours easier. But, it's not a bad component and doesn't have too many issues. I don't subscribe to the "oh look, this open source project hasn't been updated for 3 years, it must be dead" approach - not everything needs constant updates.

For some time now I've been converting our projects (both internal and public) to use the SDK format as this allows for significantly easier multi-targetting (and updating said projects to cover major versions). I'm currently doing the Color Picker Controls at the moment, although unlike ImageBox this suite did need some TLC and I've actually added a lot of improvements and a number of needed bug fixes. I'm currently working on fixing various issues with the ColorGrid (https://github.com/cyotek/Cyotek.Windows.Forms.ColorPicker/tree/colorgrid).

After I'm done with the Color Picker Controls then it is finally the turn of ImageBox. I plan to do the same thing (although this time I'll be skipping the .NET 5 target as 6 has been released and I don't really want non-LTS targets). I don't have a firm timescale, but I can say I'm nearly at the end of the road with the ColorGrid - I fixed the major show stoppers this morning, so hopefully you can expect to see a similar alpha package with assorted targets available for ImageBox within the next week or so.

In regards to the version in GitHub, the master branch is 1.2.2. 1.3 is in a branch called FreePan and hasn't been merged because it's not quite "there" yet.

I hope that help clarifies matters, but if not please let me know.

Regards;
Richard Moss

ruland

Thank you so much, Richard. This is good news indeed!

Keep up the excellent work. Looking forward to new versions.

Richard Moss

I've started work on migrating to SDK. The first multi targeted alpha (.NET 3.5 - .NET 6) is available from https://www.nuget.org/packages/Cyotek.Windows.Forms.ImageBox/. It is based on 1.2, so does not have the pan stuff from 1.3. I don't know yet if I'm going to try and finish that off and bring it into v2.

Note that the package name has changed from CyotekImageBox to Cyotek.Windows.Forms.ImageBox, mostly because I completely forgot to add an override name for the package. But at the same time, I wanted to use the "long" name anyway so I think I'll leave it alone and just add an obsolete flag to the current package pointing to the new once it is stable.

ruland

Quote from: Richard Moss on November 19, 2021, 05:57:25 PM
so does not have the pan stuff from 1.3. I don't know yet if I'm going to try and finish that off and bring it into v2.

Oh, please do include the new panning in v2; I explicitly use middle-mouse panning in my programs!

Thank you very much. Your effort is greatly appreciated.

Richard Moss

Hello,

Don't worry, it will be included. After I did the first 2.0 package, I went back to that 1.3 branch and fixed the problems I'd identified so it is now less clunky, plus merged in missing fixes from 1.2. I'll be merging the freepan branch into the dotnet60 branch shortly and hopefully moving forward with some proper releases.

I've also decided that it is going to be way to much of a pain if the package name changes so I'll be publishing it back under the original name.