SIL.Windows.Forms 15.0.0-beta0082

Prefix Reserved
This is a prerelease version of SIL.Windows.Forms.
There is a newer version of this package available.
See the version list below for details.
dotnet add package SIL.Windows.Forms --version 15.0.0-beta0082
                    
NuGet\Install-Package SIL.Windows.Forms -Version 15.0.0-beta0082
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SIL.Windows.Forms" Version="15.0.0-beta0082" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SIL.Windows.Forms" Version="15.0.0-beta0082" />
                    
Directory.Packages.props
<PackageReference Include="SIL.Windows.Forms" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SIL.Windows.Forms --version 15.0.0-beta0082
                    
#r "nuget: SIL.Windows.Forms, 15.0.0-beta0082"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SIL.Windows.Forms@15.0.0-beta0082
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SIL.Windows.Forms&version=15.0.0-beta0082&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=SIL.Windows.Forms&version=15.0.0-beta0082&prerelease
                    
Install as a Cake Tool

SIL.Windows.Forms contains Windows Forms classes for UI elements (controls and dialogs) that are commonly used across various SIL applications. SIL.Windows.Forms is similar to SIL.Core in that it does not contain classes that are specific to any domain.

Product Compatible and additional computed target framework versions.
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on SIL.Windows.Forms:

Package Downloads
SIL.Windows.Forms.GeckoBrowserAdapter

SIL.Windows.Forms.GeckoBrowserAdapter provides the GeckoFx implementation of the SIL.Windows.Forms.HtmlBrowser.IWebBrowser interface (defined in SIL.Windows.Forms). This allows the use of the Gecko engine as a browser control in Windows Forms applications through the SIL.Windows.Forms.HtmlBrowser.XWebBrowser class.

SIL.Windows.Forms.WritingSystems

SIL.Windows.Forms.WritingSystems contains Windows Forms UI elements for displaying and editing writing systems as defined by the SIL.WritingSystems assembly.

SIL.Windows.Forms.DblBundle

Package Description

SIL.Windows.Forms.Scripture

SIL.Windows.Forms.Scripture contains Windows Forms UI elements for displaying Scripture.

SIL.Chorus.App

End-user collaboration library via 3-way xml merging and hg dvcs under the hood.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
16.2.0-beta0022 112 8/21/2025
16.2.0-beta0020 108 8/21/2025
16.2.0-beta0018 193 8/7/2025
16.2.0-beta0016 194 8/7/2025
16.2.0-beta0013 316 7/25/2025
16.2.0-beta0008 352 7/25/2025
16.2.0-beta0005 440 7/24/2025
16.1.0 42 7/18/2025
16.1.0-beta0022 29 7/18/2025
16.1.0-beta0009 59 7/11/2025
16.1.0-beta0006 61 7/11/2025
16.1.0-beta0005 127 7/10/2025
16.1.0-beta0004 279 6/12/2025
16.0.1-beta0002 137 5/20/2025
16.0.1-beta0001 124 5/26/2025
16.0.0 197 5/20/2025
16.0.0-beta0162 126 5/20/2025
16.0.0-beta0159 132 5/20/2025
16.0.0-beta0158 111 5/17/2025
16.0.0-beta0146 226 5/13/2025
16.0.0-beta0145 206 5/12/2025
16.0.0-beta0144 84 4/25/2025
16.0.0-beta0143 73 4/25/2025
16.0.0-beta0141 174 4/16/2025
16.0.0-beta0140 140 4/7/2025
16.0.0-beta0127 86 4/4/2025
16.0.0-beta0126 110 3/28/2025
16.0.0-beta0125 119 3/27/2025
16.0.0-beta0124 113 3/27/2025
16.0.0-beta0109 122 3/26/2025
16.0.0-beta0104 443 3/24/2025
16.0.0-beta0103 135 3/18/2025
16.0.0-beta0102 130 3/18/2025
16.0.0-beta0090 124 3/18/2025
16.0.0-beta0088 62 3/14/2025
16.0.0-beta0083 152 3/12/2025
16.0.0-beta0079 145 3/8/2025
16.0.0-beta0068 190 3/5/2025
16.0.0-beta0067 174 3/5/2025
16.0.0-beta0066 183 3/5/2025
16.0.0-beta0063 182 3/5/2025
16.0.0-beta0061 188 3/4/2025
16.0.0-beta0052 82 2/24/2025
16.0.0-beta0051 67 2/21/2025
16.0.0-beta0050 70 2/21/2025
16.0.0-beta0049 80 2/20/2025
16.0.0-beta0048 73 2/20/2025
16.0.0-beta0047 103 2/18/2025
16.0.0-beta0046 103 2/18/2025
16.0.0-beta0045 92 2/17/2025
16.0.0-beta0034 98 2/17/2025
16.0.0-beta0033 87 2/17/2025
16.0.0-beta0032 102 2/13/2025
16.0.0-beta0031 107 2/13/2025
16.0.0-beta0021 102 2/12/2025
16.0.0-beta0020 90 2/12/2025
16.0.0-beta0019 85 2/11/2025
16.0.0-beta0017 79 2/7/2025
16.0.0-beta0016 71 2/7/2025
16.0.0-beta0012 66 2/6/2025
16.0.0-beta0011 83 2/6/2025
16.0.0-beta0010 88 2/5/2025
16.0.0-beta0009 83 2/5/2025
15.0.1-beta0007 71 1/27/2025
15.0.1-beta0004 79 1/24/2025
15.0.1-beta0003 76 1/23/2025
15.0.1-beta0002 77 1/13/2025
15.0.0 304 1/7/2025
15.0.0-beta0170 75 1/7/2025
15.0.0-beta0165 78 1/2/2025
15.0.0-beta0163 72 12/20/2024
15.0.0-beta0135 71 12/20/2024
15.0.0-beta0133 71 12/3/2024
15.0.0-beta0128 231 11/19/2024
15.0.0-beta0122 65 11/19/2024
15.0.0-beta0117 936 11/14/2024
15.0.0-beta0115 77 11/12/2024
15.0.0-beta0114 79 11/7/2024
15.0.0-beta0112 68 10/30/2024
15.0.0-beta0111 71 10/28/2024
15.0.0-beta0102 69 10/25/2024
15.0.0-beta0101 66 10/24/2024
15.0.0-beta0099 71 10/24/2024
15.0.0-beta0098 70 10/24/2024
15.0.0-beta0097 74 10/17/2024
15.0.0-beta0096 73 10/11/2024
15.0.0-beta0093 74 10/10/2024
15.0.0-beta0091 76 10/8/2024
15.0.0-beta0083 81 9/6/2024
15.0.0-beta0082 88 8/28/2024
15.0.0-beta0081 219 8/28/2024
15.0.0-beta0079 66 8/27/2024
15.0.0-beta0067 92 8/23/2024
15.0.0-beta0051 108 8/19/2024
14.2.0-beta0022 102 8/15/2024
14.2.0-beta0021 89 8/15/2024
14.2.0-beta0020 79 8/12/2024
14.2.0-beta0019 115 8/1/2024
14.2.0-beta0014 72 8/1/2024
14.2.0-beta0012 77 8/1/2024
14.2.0-beta0010 84 8/1/2024
14.2.0-beta0009 87 6/10/2024
14.1.2-beta0002 88 6/7/2024
14.1.1 276 5/23/2024
14.1.1-beta0004 79 5/23/2024
14.1.1-beta0002 81 5/14/2024
14.1.0 108 5/13/2024
14.1.0-beta0007 77 5/13/2024
14.1.0-beta0005 85 5/9/2024
14.0.1-beta0003 71 5/1/2024
14.0.1-beta0001 92 4/15/2024
14.0.0 156 4/9/2024
13.0.1 242 1/9/2024
13.0.0 198 12/8/2023
12.0.1 349 5/26/2023
12.0.0 1,445 2/15/2023
11.0.1 209 1/27/2023
11.0.0 453 1/21/2023
10.1.0 278 8/26/2022
10.0.0 768 8/4/2022
9.0.0 739 6/3/2022
8.0.0 1,498 3/4/2021
7.0.0 503 8/29/2019

Changes since version 14.1.1

Added:
- [SIL.Core] Added optional parameter, includeSystemLibraries, to AcknowledgementsProvider.CollectAcknowledgements
- [SIL.Windows.Forms] Added ability to select which SIL logo(s) to use in SILAboutBox.
- [SIL.Windows.Forms] Added public enum Widgets.SilLogoVariant
- [SIL.Windows.Forms] Added to Widgets.SilResources: AllLogoVariants, GetLogo, and SilLogoRandom (to replace SilLogo101x113)
- [SIL.Core] Added macOS support for `GlobalMutex`
- [SIL.Archiving] Added ArchivingDlgViewModel.Standard and ArchivingDlgViewModel.StringId emumerations.
- [SIL.Archiving] Added public delegate ArchivingDlgViewModel.ExceptionHandler and event ArchivingDlgViewModel.OnExceptionDuringLaunch.
- [SIL.Archiving] Added IArchivingProgressDisplay interface.
- [SIL.Archiving] Added overload of ArchivingDlgViewModel.DisplayMessage to take format parameters.
- [SIL.Archiving] Added public overload of ArchivingDlgViewModel.LaunchArchivingProgram.
- [SIL.Archiving] Added protected methods to ArchivingDlgViewModel: ReportMajorProgressPoint, ReportProgress, CleanUp
- [SIL.Windows.Forms.Archiving] Added protected virtual properties ArchiveTypeForTitleBar and InformativeText to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added public virtual method GetMessage to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added public virtual property ArchiveTypeName to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added protected methods DisplayMessage and Initialize (async) to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added protected virtual method PackageCreationComplete to ArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (public) override of property ArchiveTypeName to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (protected) override of property InformativeText to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (protected) override of method PackageCreationComplete to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added (public) override of method GetMessage to IMDIArchivingDlg.
- [SIL.Windows.Forms.Archiving] Added public extensions class LinkLabelExtensions with some methods that were formerly in Extensions class (now in SIL.Archiving).
- [SIL.Archiving] Added public property isValid to IMDIPackage.
- [SIL.Archiving] Added public event InitializationFailed to IMDIArchivingDlgViewModel.

Changed:
- [SIL.Windows.Forms] Look for PNG data on clipboard before checking for plain image in WindowsClipboard.GetImageFromClipboard() in order to preserve transparency in copied images.
- [SIL.Windows.Forms] Changed layout of SILAboutBox to accommodate wider SIL logo.
- [SIL.Windows.Forms.Archiving] Split SIL.Archiving, moving Winforms portions (including dependency on L10nSharp) to SIL.Windows.Forms.Archiving.
- [SIL.Archiving] Changed IMDIArchivingDlgViewModel.ArchivingPackage to return an IMDIPackage (instead of an IArchivingPackage).
- [SIL.Archiving] Required ArchivingDlgViewModel implementations to implement IDisposable.
- [SIL.Archiving] Made protected members in ArchivingDlgViewModel private, adding protected accessors as needed.
- [SIL.Archiving] In ArchivingDlgViewModel, renamed DisplayMessageEventHandler to MessageEventHandler, OnDisplayMessage to OnReportMessage, DisplayErrorEventHandler to ErrorEventHandler, and OnDisplayError to OnError.
- [SIL.Archiving] Changed signature of ArchivingDlgViewModel.OverrideDisplayInitialSummary to include a CancellationToken.
- [SIL.Archiving] Made ArchivingDlgViewModel.ArchiveType property public and changed it from a string to Standard (new enum).
- [SIL.Archiving] Changed signature of setFilesToArchive delegate in ArchivingDlgViewModel's protected constructor.
- [SIL.Archiving] Changed return type of ArchivingDlgViewModel.Initialize (to make it async) and added two parameters.
- [SIL.Archiving] Changed the signature of protected methods in ArchivingDlgViewModel: LaunchArchivingProgram, GetFileExcludedMsg.
- [SIL.Archiving] Changed the signature of the public method ArchivingDlgViewModel.CreatePackage.
- [SIL.Archiving] Changed underlying type of public enums VernacularMaterialsType and SilDomain from ulong to long.
- [SIL.Archiving] Replaced protected _keys field (now private) in abstract class ArchivingPackage with protected accessor property Keys.
- [SIL.Archiving] IMDIArchivingDlgViewModel (subclass of ArchivingDlgViewModel) affected by many of the changes to the base class.
- [SIL.Archiving] IMDIArchivingDlgViewModel and RampArchivingDlgViewModel (subclasses of ArchivingDlgViewModel) affected by many of the changes to the base class.
- [SIL.Archiving] IMDIArchivingDlgViewModel constructor signature changed.
- [SIL.Archiving] RampArchivingDlgViewModel constructor signature changed.
- [SIL.Windows.Forms.Archiving] Made ArchivingDlg implement IArchivingProgressDisplay.
- [SIL.Windows.Forms.Archiving] ArchivingDlg constructor signature changed: removed localizationManagerId; added optional archiveInfoHyperlinkText; made some other parameters optional.
- [SIL.Windows.Forms.Archiving] IMDIArchivingDlg constructor signature changed: added appSpecificArchivalProcessInfo.
- [SIL.Windows.Forms] Split ClearShare code, moving non-Winforms portions to SIL.Core (SIL.Core.ClearShare namespace)
- [SIL.Core] Added optional parameter to OlacSystem.GetRoles to allow caller to provide its own XML with role definitions.
- [SIL.Windows.Forms] Split License into a base class called License and a derived LicenseWithLogo, so that License could be in SIL.Core.
- [SIL.Archiving] Changed IArchivingSession.Files (and Session.Files) into an IReadonlyList.
- [SIL.Archiving] Made IMDIPackage.CreateIMDIPackage asynchronous, changing its signature to take a CancellationToken parameter and return Task<bool>.
- [SIL.Archiving] Made MetaTranscript.WriteCorpusImdiFile asynchronous, changing its signature to return Task<bool>.

Fixed:
- [SIL.Archiving] Fixed typo in RampArchivingDlgViewModel for Ethnomusicology performance collection.
- [SIL.Archiving] Changed URLs that used http: to https: in resource EmptyMets.xml.

Removed:
- [SIL.Windows.Forms] Removed SilLogo101x113 from Widgets.SilResources. Use SilLogoRandom or specify desired variant instead.
- [SIL.Windows.Forms] Removed previously deprecated CreativeCommonsLicense.IntergovernmentalOriganizationQualifier
- [SIL.Archiving] Removed abstract properties from ArchivingDlgViewModel: InformativeText and ArchiveInfoHyperlinkText.
- [SIL.Archiving] Removed public method ArchivingDlgViewModel.Cancel. (Now handled via cancellation tokens.)
- [SIL.Archiving] Removed protected methods from ArchivingDlgViewModel: PreparingFilesMsg, GetSavingFilesMsg
- [SIL.Archiving] Removed protected fields (renamed and made private) from ArchivingLanguage: _iso3Code, _englishName
- [SIL.Archiving] Removed protected fields (made private) from ArchivingFile: _fullName, _fileName, _fileSize, _mimeType, _descriptions, _accessProtocol
- [SIL.Archiving] Removed public methods CreateMetsFile and CreateRampPackage from RampArchivingDlgViewModel (made internal).
- [SIL.Archiving] Removed ArchivingPackage and AddSession from ArchivingDlgViewModel and RampArchivingDlgViewModel (where they threw NotImplementedExceptions)

Fixed:
- [SIL.Window.Forms] When choosing a file in the ImageToolbox.AcquireImageControl, a FileOk handler is simulated that verifies the selected file passes the given filter.  Users can defeat the filter mechanism by pasting or typing the file name.  While the returned filename does not pass the filter, the dialog is reopened until the user either chooses a proper filename or cancels the dialog.  The native FileOk handler can prevent the dialog from closing: we can't achieve that.  (See BL-13552.)

See full changelog at https://github.com/sillsdev/libpalaso/blob/master/CHANGELOG.md