diff --git a/.gitignore b/.gitignore index 6071fde..eafcd89 100644 --- a/.gitignore +++ b/.gitignore @@ -361,6 +361,8 @@ MigrationBackup/ # Fody - auto-generated XML schema FodyWeavers.xsd + +# Benutzerdefiniert /AniGifControl/ClassDiagram.cd /DriveWatcherControl/ClassDiagram.cd /IniFileControl/ClassDiagram.cd diff --git a/AniGifControl/AniGif.en-US.resx b/AniGifControl/AniGif.en-US.resx new file mode 100644 index 0000000..d58980a --- /dev/null +++ b/AniGifControl/AniGif.en-US.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/AniGifControl/AniGif.resx b/AniGifControl/AniGif.resx index ee56e55..9f30dd5 100644 --- a/AniGifControl/AniGif.resx +++ b/AniGifControl/AniGif.resx @@ -120,7 +120,22 @@ 17, 17 - - False + + True + + en-US + + + Timer + + + System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + AniGif + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/AniGifControl/AniGif.vb b/AniGifControl/AniGif.vb index 16967f4..949cd82 100644 --- a/AniGifControl/AniGif.vb +++ b/AniGifControl/AniGif.vb @@ -16,22 +16,24 @@ Imports System.Drawing.Imaging ''' Control zum anzeigen von animierten Grafiken. ''' - + Public Class AniGif - Inherits Control + Inherits UserControl #Region "Variablen für Komponenten" + ''' ''' Zeitgeber für Benutzerdefinierte Anzeigegeschwindigkeit ''' Private WithEvents Timer As Timer + ''' ''' Container für interne Komponenten. ''' @@ -46,7 +48,7 @@ Public Class AniGif ''' ''' Eigenschaftsvariable für das aktuelle Bild. ''' - Private _Gif As System.Drawing.Bitmap + Private _Gif As Bitmap ''' @@ -70,7 +72,7 @@ Public Class AniGif ''' ''' Variable für die Eigenschaften des Bildes. ''' - Private _Dimension As System.Drawing.Imaging.FrameDimension + Private _Dimension As FrameDimension ''' @@ -102,19 +104,22 @@ Public Class AniGif #Region "Ereignisdefinitionen" + ''' ''' Wird ausgelöst wenn die Grafik nicht animiert werden kann. ''' - - - Public Event NoAnimation(sender As Object, e As NoAnimationEventArgs) + + + Public Event NoAnimation(sender As Object, e As EventArgs) + ''' ''' Wird ausgelöst wenn sich das Bild geändert hat. ''' Private Event GifChanged() + ''' ''' Wird ausgelöst wenn sich die Anzeigegeschwindigkeit geändert hat. ''' @@ -130,8 +135,8 @@ Public Class AniGif ''' Legt fest ob die Animation sofort nach dem laden gestartet wird. ''' - - + + Public Property AutoPlay() As Boolean Get Return Me._Autoplay @@ -146,8 +151,8 @@ Public Class AniGif ''' Gibt die animierte Gif-Grafik zurück oder legt diese fest. ''' - - + + Public Property Gif() As Bitmap Get Return Me._Gif @@ -163,8 +168,8 @@ Public Class AniGif ''' Gibt die Art wie die Grafik angezeigt wird zurück oder legt diese fest. ''' - - + + Public Property GifSizeMode() As SizeMode Get Return Me._GifSizeMode @@ -181,8 +186,8 @@ Public Class AniGif ''' die in der Datei festgelegte Geschwindigkeit benutzt wird. ''' - - + + Public Property CustomDisplaySpeed As Boolean Get Return Me._CustomDisplaySpeed @@ -201,8 +206,8 @@ Public Class AniGif ''' Bewirkt nur eine Änderung wenn auf True festgelegt ist. ''' - - + + Public Property FramesPerSecond As Decimal Get Return Me._FramesPerSecond @@ -221,8 +226,8 @@ Public Class AniGif ''' Bewirkt nur eine Änderung wenn auf festgelegt ist. ''' - - + + Public Property ZoomFactor As Decimal Get Return Me._ZoomFactor @@ -478,7 +483,7 @@ Public Class AniGif Me._MaxFrame = 0 'Ereignis auslösen - RaiseEvent NoAnimation(Me, New NoAnimationEventArgs) + RaiseEvent NoAnimation(Me, EventArgs.Empty) Else @@ -493,7 +498,7 @@ Public Class AniGif End If Me.Invalidate() 'neu zeichnen - Me.Initlayout() 'Animation starten + Me.InitLayout() 'Animation starten End Sub @@ -560,11 +565,17 @@ Public Class AniGif ''' Initialisiert die Komponenten dieser Klasse ''' Private Sub InitializeComponent() - Me.components = New Container() Me.Timer = New Timer(Me.components) Me.SuspendLayout() + ' + 'Timer + ' Me.Timer.Interval = 200 + ' + 'AniGif + ' + Me.Name = "AniGif" Me.ResumeLayout(False) End Sub @@ -643,8 +654,7 @@ Public Class AniGif ''' Zoomwert ''' Private Function GetRectStartSize( - Mode As SizeMode, Control As AniGif, - Gif As Bitmap, Zoom As Decimal) As Size + Mode As SizeMode, Control As AniGif, Gif As Bitmap, Zoom As Decimal) As Size Select Case Mode @@ -716,8 +726,7 @@ Public Class AniGif ''' Startgröße der Zeichenfläche. ''' Private Function GetRectStartPoint( - Mode As SizeMode, Control As AniGif, - Gif As Bitmap, RectStartSize As Size) As Point + Mode As SizeMode, Control As AniGif, Gif As Bitmap, RectStartSize As Size) As Point Select Case Mode diff --git a/AniGifControl/AniGifControl.vbproj b/AniGifControl/AniGifControl.vbproj index 8efea97..cbd50ce 100644 --- a/AniGifControl/AniGifControl.vbproj +++ b/AniGifControl/AniGifControl.vbproj @@ -1,19 +1,9 @@  - 16.0 + 17.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - - True - True - False - False - False - False - SettingsVersion - None - AssemblyVersionAttribute - 1.2024.0322.52 + true On @@ -40,6 +30,9 @@ AniGifControl.xml True + + Windows + Debug @@ -77,7 +70,6 @@ False False AniGifControl.xml - True pdbonly @@ -90,7 +82,6 @@ False False AniGifControl.xml - True @@ -99,20 +90,21 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb - Component + UserControl - True True Resources.resx - @@ -123,9 +115,13 @@ + + AniGif.vb + AniGif.vb + My.Resources VbMyResourcesResXFileCodeGenerator @@ -143,10 +139,17 @@ 17.10.40171 + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Specify whether the animation is started immediately after the loading. + + + Control for displaying animated graphics. + + + Specifies whether the custom display speed or the speed specified in the file is used. + + + Puts the custom display speed in pictures/second when Custom DisplaySpeed ​​is set to true. + + + Put the animated GIF graphics back or define it. + + + If the way the graphic is displayed indicates or defines it. + + + Is triggered if the graphic cannot be animated. + + + Specify the zoom factor when gifsizemod is set on zoom. + + \ No newline at end of file diff --git a/AniGifControl/My Project/Resources.resx b/AniGifControl/My Project/Resources.resx index ad85dbb..800a0bc 100644 --- a/AniGifControl/My Project/Resources.resx +++ b/AniGifControl/My Project/Resources.resx @@ -121,7 +121,31 @@ ..\Resources\AniGif.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Legt fest ob die Animation sofort nach dem laden gestartet wird. + + + Control zum Anzeigen von animierten Grafiken. + + + Legt fest ob die benutzerdefinierte Anzeigegeschwindigkeit oder die in der Datei festgelegte Geschwindigkeit benutzt wird. + + + Legt die benutzerdefinierte Anzeigegeschwindigkeit in Bildern/Sekunde fest wenn CustomDisplaySpeed auf True festgelegt ist. + + + Gibt die animierte Gif-Grafik zurück oder legt diese fest. + + + Gibt die Art wie die Grafik angezeigt wird zurück oder legt diese fest. + + + Wird ausgelöst wenn die Grafik nicht animiert werden kann. + ..\Resources\Standard.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Legt den Zoomfaktor fest wenn GifSizeMode auf Zoom festgelegt ist. + \ No newline at end of file diff --git a/AniGifControl/NoAnimationEventArgs.vb b/AniGifControl/NoAnimationEventArgs.vb deleted file mode 100644 index ef7ef6a..0000000 --- a/AniGifControl/NoAnimationEventArgs.vb +++ /dev/null @@ -1,16 +0,0 @@ -' **************************************************************************************************************** -' NoAnimationEventArgs.vb -' © 2024 by Andreas Sauer -' **************************************************************************************************************** -' - - -''' -''' Ãœbergibt die Argumente für ein nicht animierbares Bild. -''' -Public Structure NoAnimationEventArgs - - - - -End Structure diff --git a/AniGifControl/SizeMode.vb b/AniGifControl/SizeMode.vb index 0d3db90..dba83c4 100644 --- a/AniGifControl/SizeMode.vb +++ b/AniGifControl/SizeMode.vb @@ -9,20 +9,36 @@ ''' Public Enum SizeMode - ''' Die Grafik wird in Originalgröße angezeigt (Ausrichtung oben links). - ''' Wenn die grafik größer als das Control ist, werden nicht anzeigbare Teile abgeschnitten. + ''' + ''' Die Grafik wird in Originalgröße angezeigt (Ausrichtung oben links). + ''' + ''' + ''' Wenn die grafik größer als das Control ist, werden nicht anzeigbare Teile abgeschnitten. + ''' Normal = 0 - ''' Die Grafik wird in Originalgröße angezeigt (zentrierte Ausrichtung). - ''' Wenn die grafik größer als das Control ist, werden nicht anzeigbare Teile abgeschnitten. + ''' + ''' Die Grafik wird in Originalgröße angezeigt (zentrierte Ausrichtung). + ''' + ''' + ''' Wenn die grafik größer als das Control ist, werden nicht anzeigbare Teile abgeschnitten. + ''' CenterImage = 1 - ''' Die Größe der Grafik kann an die Größe des Controls angepasst werden (zentrierte Ausrichtung 1-100%). - ''' Die Grafik passt immer in das Control. + ''' + ''' Die Größe der Grafik kann an die Größe des Controls angepasst werden (zentrierte Ausrichtung 1-100%). + ''' + ''' + ''' Die Grafik passt immer in das Control. + ''' Zoom = 2 - ''' Die Grafik füllt das Control immer vollständig aus (zentrierte Ausrichtung ). - ''' Kleinere Grafiken werden gezoomt und größere verkleinert. + ''' + ''' Die Grafik füllt das Control immer vollständig aus (zentrierte Ausrichtung ). + ''' + ''' + ''' Kleinere Grafiken werden gezoomt und größere verkleinert. + ''' Fill = 3 End Enum diff --git a/CommonCodes/MyDescription.vb b/CommonCodes/MyDescription.vb new file mode 100644 index 0000000..b38cbed --- /dev/null +++ b/CommonCodes/MyDescription.vb @@ -0,0 +1,68 @@ +' **************************************************************************************************************** +' MyDescription.vb +' © 2024 by Andreas Sauer +' **************************************************************************************************************** +' + +Imports System.Threading + +''' +''' Definiert ein benutzerdefiniertes Beschreibungsattribut um +''' Elementbeschreibungen aus einer Ressource abzurufen. +''' +Friend Class MyDescription + + + Inherits System.ComponentModel.DescriptionAttribute + + + Public Sub New(RessourceName As String) + MyBase.DescriptionValue = My.Resources.ResourceManager.GetString(RessourceName, Thread.CurrentThread.CurrentUICulture) + End Sub + + + Public Overrides ReadOnly Property TypeId As Object + Get + Return MyBase.TypeId + End Get + End Property + + + Public Overrides ReadOnly Property Description As String + Get + Return MyBase.Description + End Get + End Property + + + Protected Overrides Sub Finalize() + MyBase.Finalize() + End Sub + + + Public Overrides Function ToString() As String + Return MyBase.ToString() + End Function + + + Public Overrides Function Match(obj As Object) As Boolean + Return MyBase.Match(obj) + End Function + + + Public Overrides Function Equals(obj As Object) As Boolean + Return MyBase.Equals(obj) + End Function + + + Public Overrides Function GetHashCode() As Integer + Return MyBase.GetHashCode() + End Function + + + Public Overrides Function IsDefaultAttribute() As Boolean + Return MyBase.IsDefaultAttribute() + End Function + + +End Class diff --git a/CommonCodes/ProvideToolboxControlAttribute.vb b/CommonCodes/ProvideToolboxControlAttribute.vb index cd5a78e..b360722 100644 --- a/CommonCodes/ProvideToolboxControlAttribute.vb +++ b/CommonCodes/ProvideToolboxControlAttribute.vb @@ -4,11 +4,13 @@ ' **************************************************************************************************************** ' + Imports System Imports System.Globalization Imports System.Runtime.InteropServices Imports Microsoft.VisualStudio.Shell + ''' ''' Dieses Attribut fügt der Assembly einen Toolbox Controls Installer-Schlüssel hinzu, ''' um Toolbox Controls aus der Assembly zu installieren. @@ -21,13 +23,19 @@ Imports Microsoft.VisualStudio.Shell ''' -Public NotInheritable Class ProvideToolboxControlAttribute : Inherits RegistrationAttribute +Public NotInheritable Class ProvideToolboxControlAttribute + + + Inherits RegistrationAttribute + Private Const ToolboxControlsInstallerPath As String = "ToolboxControlsInstaller" + Private _isWpfControls As Boolean Private _name As String + ''' ''' Erstellt ein neues Attribut „Provide Toolbox Control“, um die Assembly für das ''' Toolbox Controls-Installationsprogramm zu registrieren. @@ -45,6 +53,7 @@ Public NotInheritable Class ProvideToolboxControlAttribute : Inherits Registrati End Sub + ''' ''' Ruft ab, ob die Toolbox-Steuerelemente für WPF gelten. ''' @@ -57,6 +66,7 @@ Public NotInheritable Class ProvideToolboxControlAttribute : Inherits Registrati End Set End Property + ''' ''' Ruft den Namen für die Steuerelemente ab. ''' @@ -69,6 +79,7 @@ Public NotInheritable Class ProvideToolboxControlAttribute : Inherits Registrati End Set End Property + ''' ''' Wird aufgerufen, um dieses Attribut im angegebenen Kontext zu registrieren. ''' Der Kontext enthält den Ort, an dem die Registrierungsinformationen @@ -102,6 +113,7 @@ Public NotInheritable Class ProvideToolboxControlAttribute : Inherits Registrati End Sub + ''' ''' Wird aufgerufen, um die Registrierung dieses Attributs im angegebenen Kontext aufzuheben. ''' @@ -126,4 +138,5 @@ Public NotInheritable Class ProvideToolboxControlAttribute : Inherits Registrati End Sub + End Class \ No newline at end of file diff --git a/Docs/AniGifControl.md b/Docs/AniGifControl.md index 3fc6b63..40910e9 100644 --- a/Docs/AniGifControl.md +++ b/Docs/AniGifControl.md @@ -4,15 +4,15 @@ Ein Steuerelement welches zum Anzeigen animierter Grafiken dient. --- -## Einführung +## Einführung -Grundlage und Anregung für dieses Steuerelement stammen aus dem Buch +Grundlage und Anregung für dieses Steuerelement stammen aus dem Buch **"Visual Basic 2015 - Grundlagen und Profiwissen"** von Walter Dobrenz und Thomas Gewinnus. -Der ursprüngliche Quelltext wurde von mir verändert und um weitere Funktionen erweitert. +Der ursprüngliche Quelltext wurde von mir verändert und um weitere Funktionen erweitert. -Dieser Code sollte für mich als Übung dienen und ich denke das er auch für andere Anfänger -interessant sein dürfte. +Dieser Code sollte für mich als Ãœbung dienen und ich denke das er auch für andere Anfänger +interessant sein dürfte. Weitere Infos unter: @@ -24,12 +24,12 @@ Weitere Infos unter: ## Eigenschaften -- **Gif** - Gibt die animierte Gif-Grafik zurück oder legt diese fest. +- **Gif** - Gibt die animierte Gif-Grafik zurück oder legt diese fest. - **AutoPlay** - Legt fest ob die Animation sofort nach dem laden gestartet wird. -- **GifSizeMode** - Gibt die Art wie die Grafik angezeigt wird zurück oder legt diese fest. +- **GifSizeMode** - Gibt die Art wie die Grafik angezeigt wird zurück oder legt diese fest. - **CustomDisplaySpeed** - Legt fest ob die im Bild gespeicherte Anzeigegeschwindigkeit oder die benutzerdefinierte verwendet werden soll. - **FramesPerSecond** - Legt die Anzahl der Bilder pro Sekunde fest (1-50) die angezeigt werden, wenn die Benutzerdefinierte Geschwindigkeit aktiv ist. -- **ZoomFaktor** - Legt den Zoomfaktor für GifSizeMode "Zoom" in % (1-100) fest. +- **ZoomFaktor** - Legt den Zoomfaktor für GifSizeMode "Zoom" in % (1-100) fest. --- @@ -37,22 +37,16 @@ Weitere Infos unter: Die Eigenschaft **"GifSizeMode"** kann folgende Werte annehmen: -- **Normal** - Die Grafik wird in Originalgröße angezeigt (Ausrichtung oben links) -- **CenterImage** - Die Grafik wird in Originalgröße angezeigt (zentrierte Ausrichtung) -- **Zoom** - Die Grafik wird an die Größe des Steuerelementes angepasst (Die größere Ausdehnung der Grafik wird als Anpassung verwendet, die Ausrichtung erfolgt zentriert und das Seitenverhältnis bleibt erhalten) -- **Fill** - Die Grafik wird in das Control eingepasst (unabhängig von ihrer Größe). +- **Normal** - Die Grafik wird in Originalgröße angezeigt (Ausrichtung oben links) +- **CenterImage** - Die Grafik wird in Originalgröße angezeigt (zentrierte Ausrichtung) +- **Zoom** - Die Grafik wird an die Größe des Steuerelementes angepasst (Die größere Ausdehnung der Grafik wird als Anpassung verwendet, die Ausrichtung erfolgt zentriert und das Seitenverhältnis bleibt erhalten) +- **Fill** - Die Grafik wird in das Control eingepasst (unabhängig von ihrer Größe). --- ## Ereignisse -- **NoAnimation** - wird ausgelöst, wenn das Bild nicht animiert werden kann. - ---- - -## geplante Änderungen und Funktionen - -- Zurzeit keine. +- **NoAnimation** - wird ausgelöst, wenn das Bild nicht animiert werden kann. --- @@ -60,22 +54,35 @@ Die Eigenschaft **"GifSizeMode"** kann folgende Werte annehmen: - [Erstellen eines Windows Forms-Toolbox-Steuerelements](https://docs.microsoft.com/de-de/visualstudio/extensibility/creating-a-windows-forms-toolbox-control?view=vs-2022) - [Infos zur ControlStyles Enumeration](https://learn.microsoft.com/de-de/dotnet/api/system.windows.forms.controlstyles?redirectedfrom=MSDN&view=netframework-4.7.2) -- [Control-Techniken: Eigenes Toolboxicon für Steuerelement](https://www.vb-paradise.de/index.php/Thread/123746-Control-Techniken-Eigenes-Toolboxicon-f%C3%BCr-Steuerelement/) +- [Control-Techniken: Eigenes Toolboxicon für Steuerelement](https://www.vb-paradise.de/index.php/Thread/123746-Control-Techniken-Eigenes-Toolboxicon-f%C3%BCr-Steuerelement/) - [FrameDelays von animierter GIF](https://foren.activevb.de/archiv/vb-net/thread-93030/beitrag-93069/FrameDelays-von-animierter-GIF/) --- ## Versionsverlauf -Version 2.2024.11.07 +**Version 2.2024.22.08** + +Datum 22.08.2024 + +- Fehlerbereinigung + + +**Version 2.2024.19.07** + +Datum: 19.07.2024 + +- Beschreibungstexte in Englisch hinzugefügt. (Google Translate) + +**Version 2.2024.11.07** Datum: 11.07.2024 -- Kleinere Änderungen am Code (Achtung! Das Ereignis "NoAnimation" weist ein geändertes Verhalten auf.) +- Kleinere Änderungen am Code (Achtung! Das Ereignis "NoAnimation" weist ein geändertes Verhalten auf.) -Version 2.2024.30.06 +**Version 2.2024.30.06** Datum: 30.06.2024 -- Veröffentlichung im Bündel mit anderen Controls. +- Veröffentlichung im Bündel mit anderen Controls. diff --git a/Docs/DriveWatcherControl.md b/Docs/DriveWatcherControl.md index e80c6ed..9890623 100644 --- a/Docs/DriveWatcherControl.md +++ b/Docs/DriveWatcherControl.md @@ -19,12 +19,6 @@ Grundlage und Anregung für dieses Control stammen aus dem Internet. --- -## geplante Änderungen und Funktionen - -- Im Moment keine - ---- - ## weitere Literatur - [Erstellen eines Windows Forms-Toolbox-Steuerelements](https://docs.microsoft.com/de-de/visualstudio/extensibility/creating-a-windows-forms-toolbox-control?view=vs-2022) @@ -36,25 +30,37 @@ Grundlage und Anregung für dieses Control stammen aus dem Internet. ## Versionsverlauf -Version 2.2024.30.06 +**Version 2.2024.22.08** + +Datum 22.08.2024 + +- Fehlerbereinigung + +**Version 2.2024.19.07** + +Datum: 19.07.2024 + +- Beschreibungen in englisch hinzugefügt. (Google Translate) + +**Version 2.2024.30.06** Datum: 30.06.2024 - Veröffentlichung im Bündel mit anderen Controls. -Version 2.2024.04.06 +**Version 2.2024.04.06** Datum: 06.04.2024 - Änderung der Versionsnummerierung wegen Problemen mit dem VisualStudio Marketplace. -Version 1.2024.0404.00 +**Version 1.2024.0404.00** Datum: 04.04.2024 - Änderung des Repositorie zur besseren Verwaltung des Quellcodes. -Version 1.2024.0128.00 +**Version 1.2024.0128.00** Datum: 28.01.2024 diff --git a/Docs/IniFileControl.md b/Docs/IniFileControl.md index 2ab00a4..78f4814 100644 --- a/Docs/IniFileControl.md +++ b/Docs/IniFileControl.md @@ -146,12 +146,6 @@ Die Bibliothek IniFileControl umfasst folgende Komponenten: --- -## geplante Änderungen und Funktionen - -- Zur Zeit keine. - ---- - ## Weitere Literatur - [Erstellen eines Windows Forms-Toolbox-Steuerelements](https://docs.microsoft.com/de-de/visualstudio/extensibility/creating-a-windows-forms-toolbox-control?view=vs-2022) @@ -166,8 +160,22 @@ Die Bibliothek IniFileControl umfasst folgende Komponenten: ## Versionsverlauf +**Version 2.2024.22.08** + +Datum 22.08.2024 + +- Fehlerbereinigung + +**Version 2.2024.04.08** + +Datum: 04.08.2024 + +- Layoutfehler beseitigt und Texte in Englisch hinzugefügt. + **Version 2.2024.16.07** +Datum: 16.07.2024 + - Layoutfehler in **IniFileCommentEdit**, **IniFileEntryValueEdit** und **IniFileListEdit** beseitigt. **Version 2.2024.30.06** diff --git a/Docs/NotifyFormControl.md b/Docs/NotifyFormControl.md index 6699c35..cce8e80 100644 --- a/Docs/NotifyFormControl.md +++ b/Docs/NotifyFormControl.md @@ -28,13 +28,6 @@ Falls jemand die ursprüngliche Quelle kennt oder finden sollte, dann bitte eine - **Show** - Zeigt das Fenster an ---- - -## geplante Änderungen und Funktionen - -- Im Moment keine - ---- ## Weitere Literatur @@ -46,6 +39,18 @@ Falls jemand die ursprüngliche Quelle kennt oder finden sollte, dann bitte eine ## Versionsverlauf +**Version 2.2024.22.08** + +Datum 22.08.2024 + +- Fehlerbereinigung + +**Version 2.2024.21.07** + +Datum: 21.07.2024 + +- Beschreibungstexte in englisch hinzugefügt. + **Version 2.2024.14.07** Datum: 14.07.2024 diff --git a/Docs/SevenSegmentControl.md b/Docs/SevenSegmentControl.md index a675505..4a63195 100644 --- a/Docs/SevenSegmentControl.md +++ b/Docs/SevenSegmentControl.md @@ -4,10 +4,10 @@ Zwei Controls zum Anzeigen von Zeichen als 7-Segmentanzeige. --- -## Einführung +## Einführung -Ich habe für ein anderes Projekt versucht eine 7-Segmentanzeige zu programmieren. -Nach einigen Fehlversuchen und einer intensive Internetrecherche, bin ich auf GitHub fündig geworden. +Ich habe für ein anderes Projekt versucht eine 7-Segmentanzeige zu programmieren. +Nach einigen Fehlversuchen und einer intensive Internetrecherche, bin ich auf GitHub fündig geworden. ([SevenSegment von Dimitry Brant](https://github.com/dbrant/SevenSegment)) Ich habe mich entschlossen den Code in VisualBasic neu zu erstellen da ich mit C# keinerlei Erfahrung habe. @@ -19,24 +19,24 @@ Die Bibliothek SevenSegmentControl umfasst folgende Komponenten: --- -## Eigenschaften, Funktionen und Ereignisse für SevSegSingleDigit +## Eigenschaften, Funktionen und Ereignisse für SevSegSingleDigit
Eigenschaften -- **InactiveColor** - Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. -- **SegmentWidth** - Legt die Breite der LED-Segmente fest oder gibt diese zurück. -- **ItalicFactor** - Scherkoeffizient für die Kursivschrift der Anzeige. -- **DigitValue** - Legt das anzuzeigende Zeichen fest oder gibt dieses zurück. - (Unterstützte Zeichen sind Ziffern und die meisten Buchstaben.) +- **InactiveColor** - Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. +- **SegmentWidth** - Legt die Breite der LED-Segmente fest oder gibt diese zurück. +- **ItalicFactor** - Scherkoeffizient für die Kursivschrift der Anzeige. +- **DigitValue** - Legt das anzuzeigende Zeichen fest oder gibt dieses zurück. + (Unterstützte Zeichen sind Ziffern und die meisten Buchstaben.) - **CustomBitPattern** - Legt ein benutzerdefiniertes Bitmuster fest, das in den sieben Segmenten angezeigt werden soll. (Dies ist ein ganzzahliger Wert, bei dem die Bits 0 bis 6 den jeweiligen LED-Segmenten entsprechen.) - **ShowDecimalPoint** - Gibt an, ob die Dezimalpunkt-LED aktiv ist. - **DecimalPointActive** - Gibt an, ob die Dezimalpunkt-LED aktiv ist. - **ShowColon** - Gibt an, ob die Doppelpunkt-LEDs angezeigt werden. - **ColonActive** - Gibt an, ob die Doppelpunkt-LEDs aktiv sind. -- **BackColor** - Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. -- **ForeColor** - Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück. +- **BackColor** - Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. +- **ForeColor** - Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück.
@@ -52,22 +52,22 @@ Die Bibliothek SevenSegmentControl umfasst folgende Komponenten: --- -## Eigenschaften, Funktionen und Ereignisse für SevSegMultiDigit +## Eigenschaften, Funktionen und Ereignisse für SevSegMultiDigit
Eigenschaften -- **InactiveColor** - Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. -- **SegmentWidth** - Legt die Breite der LED-Segmente fest oder gibt diese zurück. -- **ItalicFactor** - Scherkoeffizient für die Kursivschrift der Anzeige. +- **InactiveColor** - Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. +- **SegmentWidth** - Legt die Breite der LED-Segmente fest oder gibt diese zurück. +- **ItalicFactor** - Scherkoeffizient für die Kursivschrift der Anzeige. - **ShowDecimalPoint** - Gibt an, ob die Dezimalpunkt-LED angezeigt wird. - **DigitCount** - Anzahl der Digits in diesem Control. -- **DigitPadding** - Auffüllung, die für jedes Digit im Control gilt. - (Passen Sie diese Zahlen an, um das perfekte Erscheinungsbild für das Control Ihrer Größe zu erhalten.) +- **DigitPadding** - Auffüllung, die für jedes Digit im Control gilt. + (Passen Sie diese Zahlen an, um das perfekte Erscheinungsbild für das Control Ihrer Größe zu erhalten.) - **Value** - Der auf dem Control anzuzeigende Wert. (Kann Zahlen, bestimmte Buchstaben und Dezimalpunkte enthalten.) -- **BackColor** - Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. -- **ForeColor** - Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück. +- **BackColor** - Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. +- **ForeColor** - Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück.
@@ -83,32 +83,31 @@ Die Bibliothek SevenSegmentControl umfasst folgende Komponenten: --- -## geplante Änderungen und Funktionen - -- Eine Möglichkeit die Breite des Multi Digit automatisch - an die Anzahl der Digits anzupassen. - ---- - ## Weitere Literatur - [Erstellen eines Windows Forms-Toolbox-Steuerelements](https://docs.microsoft.com/de-de/visualstudio/extensibility/creating-a-windows-forms-toolbox-control?view=vs-2022) - [ToolboxBitmapAttribute Konstruktoren](https://learn.microsoft.com/de-de/dotnet/api/system.drawing.toolboxbitmapattribute.-ctor?view=dotnet-plat-ext-7.0#system-drawing-toolboxbitmapattribute-ctor(system-type-system-string)) - [Entwickeln benutzerdefinierter Windows Forms-Steuerelemente mit .NET Framework](https://learn.microsoft.com/de-de/dotnet/desktop/winforms/controls/developing-custom-windows-forms-controls?view=netframeworkdesktop-4.8) -- [Control-Techniken: Eigenes Toolboxicon für Steuerelement](https://www.vb-paradise.de/index.php/Thread/123746-Control-Techniken-Eigenes-Toolboxicon-f%C3%BCr-Steuerelement/) +- [Control-Techniken: Eigenes Toolboxicon für Steuerelement](https://www.vb-paradise.de/index.php/Thread/123746-Control-Techniken-Eigenes-Toolboxicon-f%C3%BCr-Steuerelement/) --- ## Versionsverlauf -Version 2.2024.30.06 +**Version 2.2024.21.07** + +Datum: 21.07.2024 + +- Beschreibungstexte in Englisch hinzugefügt + +**Version 2.2024.30.06** Datum: 30.06.2024 -- Veröffentlichung im Bündel mit anderen Controls. +- Veröffentlichung im Bündel mit anderen Controls. -Version 1.2024.06.04 +**Version 1.2024.06.04** Datum 04.06.2024 -- Erstveröffentlichung \ No newline at end of file +- Erstveröffentlichung \ No newline at end of file diff --git a/Docs/ShapeControl.md b/Docs/ShapeControl.md index 80ac332..5e5a4a0 100644 --- a/Docs/ShapeControl.md +++ b/Docs/ShapeControl.md @@ -1,3 +1,4 @@ + # ShapeControl Steuerelement zum Darstellen einer Linie, eines Rechtecks oder einer Ellipse. @@ -23,12 +24,6 @@ gefüllte Ellipse fest. - **DiagonalLineModus** - Legt fest ob die diagonale Linie von links oben nach rechts unten gezeichnet wird oder umgekehrt. ---- - - ## geplante Änderungen und Funktionen - -- Zurzeit keine. - --- ## weitere Literatur @@ -43,13 +38,25 @@ links oben nach rechts unten gezeichnet wird oder umgekehrt. ## Versionsverlauf -Version 2.2024.30.06 +**Version 2.2024.22.08** + +Datum 22.08.2024 + +- Fehlerbereinigung + +**Version 2.2024.19.07** + +Datum: 19.07.2024 + +- Beschreibungstexte in Englisch hinzugefügt (Google Translate) + +**Version 2.2024.30.06** Datum: 30.06.2024 - Veröffentlichung im Bündel mit anderen Controls. -Version 1.2024.06.04 +**Version 1.2024.06.04** Datum 04.06.2024 diff --git a/Docs/TransparentLabelControl.md b/Docs/TransparentLabelControl.md index 2ea5eb7..5c1223e 100644 --- a/Docs/TransparentLabelControl.md +++ b/Docs/TransparentLabelControl.md @@ -30,38 +30,44 @@ bzw. es Probleme mit der Darstellung gibt, wurden diese von mir ausgeblendet. --- -## geplante Erweiterungen und Funktionen +## weitere Literatur -- Zurzeit keine. --- -## weitere Literatur +## Versionsverlauf +**Version 2.2024.22.08** ---- +Datum 22.08.2024 -## Versionsverlauf +- Fehlerbereinigung + +**Version 2.2024.21.07** + +Datum: 21.07.2024 + +- Beschreibungstexte in Englisch hinzugefügt. -Version 2.2024.30.06 +**Version 2.2024.30.06** Datum: 30.06.2024 - Veröffentlichung im Bündel mit anderen Controls. -Version 2.2024.04.06 +**Version 2.2024.04.06** Datum: 06.04.2024 -- Änderung der versionsnummerierung wegen Problemen mit dem VisualStudio Marketplace. +- Änderung der Versionsnummerierung wegen Problemen mit dem VisualStudio Marketplace. -Version 1.2024.0404.00 +**Version 1.2024.0404.00** Datum: 04.04.2024 - Änderung des Repositorie zur besseren Verwaltung des Quellcodes. -Version 1.2024.0104.00 +**Version 1.2024.0104.00** Datum 01.04.2024 diff --git a/Docs/WizardControl.md b/Docs/WizardControl.md index d3abcdd..5e5347a 100644 --- a/Docs/WizardControl.md +++ b/Docs/WizardControl.md @@ -67,26 +67,38 @@ des ## Versionsverlauf -Version 2.2024.30.06 +**Version 2.2024.22.08** + +Datum 22.08.2024 + +- Fehlerbereinigung + +**Version 2.2024.22.07** + +Datum: 22.07.2024 + +- Beschreibungstexte in Englisch hinzugefügt. (Google Translate) + +**Version 2.2024.30.06** Datum: 30.06.2024 - Veröffentlichung im Bündel mit anderen Controls. -Version 2.2024.04.07 +**Version 2.2024.04.07** Datum: 07.04.2024 - Problem mit der Eigenschaft für die Sichtbarkeit des Hilfebuttons korrigiert. -Version 2.2024.04.05 +**Version 2.2024.04.05** Datum: 05.04.2024 - Änderung des Repositorie zur besseren Verwaltung des Quellcodes. - Änderung der Versionsnummerierung wegen Prblemen mit VisualStudio Marketplace. -Version 1.2024.3103.00 +**Version 1.2024.3103.00** Datum: 31.03.2024 diff --git a/DriveWatcherControl/DriveWatcher.resx b/DriveWatcherControl/DriveWatcher.resx new file mode 100644 index 0000000..0b5f7e8 --- /dev/null +++ b/DriveWatcherControl/DriveWatcher.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + en-US + + + False + + \ No newline at end of file diff --git a/DriveWatcherControl/DriveWatcher.vb b/DriveWatcherControl/DriveWatcher.vb index 07b5991..27f768c 100644 --- a/DriveWatcherControl/DriveWatcher.vb +++ b/DriveWatcherControl/DriveWatcher.vb @@ -10,25 +10,32 @@ Imports System.Drawing Imports System.IO Imports System.Windows.Forms + ''' ''' Steuerelement um die Laufwerke zu überwachen. ''' - + -Public Class DriveWatcher : Inherits Component +Public Class DriveWatcher + + + Inherits Component + ''' ''' Wird vom Komponenten-Designer benötigt. ''' Private components As System.ComponentModel.IContainer + ''' ''' Internes Formular welches die Meldungen empfängt. ''' Private WithEvents _Form As New NativeForm + ''' ''' Wird ausgelöst wenn ein Laufwerk hinzugefügt wurde. ''' @@ -36,9 +43,10 @@ Public Class DriveWatcher : Inherits Component ''' ''' Enthält die Eigenschaften zum hinzugefügten Laufwerk. () ''' - + Public Event DriveAdded(sender As Object, e As DriveAddedEventArgs) + ''' ''' Wird ausgelöst wenn ein Laufwerk entfernt wurde. ''' @@ -46,10 +54,10 @@ Public Class DriveWatcher : Inherits Component ''' ''' Enthält die Eigenschaften zum entfernten Laufwerk. () ''' - + Public Event DriveRemoved(sender As Object, e As DriveRemovedEventArgs) - ''' + Public Sub New() MyBase.New() @@ -59,10 +67,11 @@ Public Class DriveWatcher : Inherits Component End Sub + ''' ''' Wird ausgelöst wenn ein Laufwerk hinzugefügt wurde ''' - Private Sub _Form_DriveAdded(sender As Object, e As System.IO.DriveInfo) Handles _ + Private Sub _Form_DriveAdded(sender As Object, e As DriveInfo) Handles _ _Form.DriveAdded @@ -80,10 +89,11 @@ Public Class DriveWatcher : Inherits Component End Sub + ''' ''' Wird ausgelöst wenn ein Laufwerk entfern wurde ''' - Private Sub _Form_DriveRemoved(sender As Object, e As System.IO.DriveInfo) Handles _ + Private Sub _Form_DriveRemoved(sender As Object, e As DriveInfo) Handles _ _Form.DriveRemoved Dim arg As New DriveRemovedEventArgs With {.DriveName = e.Name} @@ -92,6 +102,7 @@ Public Class DriveWatcher : Inherits Component End Sub + ''' ''' Hinweis: Die folgende Prozedur ist für den Komponenten-Designer erforderlich. ''' @@ -102,12 +113,9 @@ Public Class DriveWatcher : Inherits Component Private Sub InitializeComponent() - Me.components = New Container() - End Sub - ''' - ''' + Public Sub New(container As IContainer) @@ -134,23 +142,31 @@ Public Class DriveWatcher : Inherits Component End Sub + ''' ''' Definiert das Fenster welches die WindowsMessages empfängt. ''' - Private Class NativeForm : Inherits NativeWindow + Private Class NativeForm + + + Inherits NativeWindow + 'Das sind die Ereignisse aus WParam. 'Uns interessiert nur, ob ein Laufwerk hinzugekommen ist oder entfernt wurde. Public Event DriveAdded(sender As Object, e As DriveInfo) Public Event DriveRemoved(sender As Object, e As DriveInfo) + 'Windowmessage DeviceChange Private Const WM_DEVICECHANGE As Integer = &H219 + 'Die beiden Ereignisse, die für uns von Bedeutung sind. Private Const DBT_DEVICEARRIVAL As Integer = &H8000 Private Const DBT_DEVICEREMOVECOMPLETE As Integer = &H8004 + ''' ''' Das sind die Konstanten der Gerätetypen ''' @@ -160,36 +176,43 @@ Public Class DriveWatcher : Inherits Component ''' Private Enum DBT_DEVTYP + ''' ''' OEM- oder IHV-definiert ''' OEM = 0 + ''' ''' Devnode-Nummer ''' DEVNODE = 1 + ''' ''' Logisches Volumen ''' VOLUME = 2 + ''' ''' Port (seriell oder parallel) ''' PORT = 3 + ''' ''' Netzwerkressource ''' NET = 4 + ''' ''' Geräteschnittstellenklasse ''' DEVICEINTERFACE = 5 + ''' ''' Dateisystem-Handle ''' @@ -197,6 +220,7 @@ Public Class DriveWatcher : Inherits Component End Enum + ''' ''' Die Struktur für den Header. ''' @@ -209,6 +233,7 @@ Public Class DriveWatcher : Inherits Component Public dbch_reserved As Integer End Structure + ''' ''' Die Struktur für OEM. ''' @@ -223,6 +248,7 @@ Public Class DriveWatcher : Inherits Component Public dbco_suppfunc As Integer End Structure + ''' ''' Die Struktur für Volumes. ''' @@ -237,6 +263,7 @@ Public Class DriveWatcher : Inherits Component Public dbcv_flags As Short End Structure + 'Dies ist der Dreh- und Angelpunkt der Klasse. - Hier bekommen wir die Messages mit. 'In unserm Fall interessiert uns nur die WM_DeviceChange-Nachricht Protected Overrides Sub WndProc(ByRef m As Message) @@ -244,6 +271,7 @@ Public Class DriveWatcher : Inherits Component MyBase.WndProc(m) End Sub + 'Hier schauen wir erst mal in den Header und verzweigen dementsprechend Private Sub HandleHeader(ByRef m As Message) Dim header As DEV_BROADCAST_HDR @@ -261,6 +289,7 @@ Public Class DriveWatcher : Inherits Component End If End Sub + 'Das Ereignis betrifft ein Volume Private Sub HandleVolume(ByRef m As Message) Dim volume As DEV_BROADCAST_VOLUME @@ -275,6 +304,7 @@ Public Class DriveWatcher : Inherits Component End If End Sub + 'OEM, und was genau? 'Uns interesieren nur Volumes Private Sub HandleOEM(ByRef m As Message) @@ -286,6 +316,7 @@ Public Class DriveWatcher : Inherits Component End If End Sub + 'Liefert den Laufwerksbuchstaben zurück Private Function DriveFromMask(mask As Integer) As Char Dim result As Char = CChar(String.Empty) @@ -298,20 +329,19 @@ Public Class DriveWatcher : Inherits Component Return result End Function + Public Sub New() Me.CreateHandle(New CreateParams) 'eigenes Handle erstellen End Sub + Protected Overrides Sub Finalize() Me.DestroyHandle() 'eigenes Handle zerstören MyBase.Finalize() End Sub - End Class - - - + End Class End Class diff --git a/DriveWatcherControl/DriveWatcherControl.vbproj b/DriveWatcherControl/DriveWatcherControl.vbproj index 2a6d6d9..64b0c88 100644 --- a/DriveWatcherControl/DriveWatcherControl.vbproj +++ b/DriveWatcherControl/DriveWatcherControl.vbproj @@ -80,6 +80,9 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb @@ -108,6 +111,10 @@ + + DriveWatcher.vb + + My.Resources diff --git a/DriveWatcherControl/My Project/AssemblyInfo.vb b/DriveWatcherControl/My Project/AssemblyInfo.vb index 1ddd822..dbf8da8 100644 --- a/DriveWatcherControl/My Project/AssemblyInfo.vb +++ b/DriveWatcherControl/My Project/AssemblyInfo.vb @@ -1,3 +1,4 @@ +Imports System.Resources Imports System.Reflection Imports System.Runtime.CompilerServices Imports System.Runtime.InteropServices @@ -30,5 +31,6 @@ Imports Microsoft.VisualBasic ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - - + + + diff --git a/DriveWatcherControl/My Project/Resources.Designer.vb b/DriveWatcherControl/My Project/Resources.Designer.vb index 664db9f..dc034bd 100644 --- a/DriveWatcherControl/My Project/Resources.Designer.vb +++ b/DriveWatcherControl/My Project/Resources.Designer.vb @@ -60,6 +60,33 @@ Namespace My.Resources End Set End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Steuerelement um die Laufwerke zu überwachen. ähnelt. + ''' + Friend ReadOnly Property ClassDescription() As String + Get + Return ResourceManager.GetString("ClassDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn ein Laufwerk hinzugefügt wurde. ähnelt. + ''' + Friend ReadOnly Property DriveAddedDescription() As String + Get + Return ResourceManager.GetString("DriveAddedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn ein Laufwerk entfernt wurde. ähnelt. + ''' + Friend ReadOnly Property DriveRemovedDescription() As String + Get + Return ResourceManager.GetString("DriveRemovedDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/DriveWatcherControl/My Project/Resources.en-US.resx b/DriveWatcherControl/My Project/Resources.en-US.resx new file mode 100644 index 0000000..505206c --- /dev/null +++ b/DriveWatcherControl/My Project/Resources.en-US.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Control element to monitor the drives. + + + Is triggered when a drive has been added. + + + Is triggered when a drive has been removed. + + \ No newline at end of file diff --git a/DriveWatcherControl/My Project/Resources.resx b/DriveWatcherControl/My Project/Resources.resx index 99b4e2d..75e3539 100644 --- a/DriveWatcherControl/My Project/Resources.resx +++ b/DriveWatcherControl/My Project/Resources.resx @@ -117,6 +117,15 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Steuerelement um die Laufwerke zu überwachen. + + + Wird ausgelöst wenn ein Laufwerk hinzugefügt wurde. + + + Wird ausgelöst wenn ein Laufwerk entfernt wurde. + ..\Resources\DriveWatcher.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/IniFileControl/IniFile.en-US.resx b/IniFileControl/IniFile.en-US.resx new file mode 100644 index 0000000..d58980a --- /dev/null +++ b/IniFileControl/IniFile.en-US.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/IniFileControl/IniFile.resx b/IniFileControl/IniFile.resx new file mode 100644 index 0000000..7787869 --- /dev/null +++ b/IniFileControl/IniFile.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + en-US + + + True + + + False + + \ No newline at end of file diff --git a/IniFileControl/IniFile.vb b/IniFileControl/IniFile.vb index a29fa1d..9b9a9cf 100644 --- a/IniFileControl/IniFile.vb +++ b/IniFileControl/IniFile.vb @@ -4,18 +4,23 @@ ' **************************************************************************************************************** ' + Imports System Imports System.Collections.Generic Imports System.ComponentModel +Imports System.Drawing ''' -''' Control zum Verwalten von INI - Dateien +''' Steuerelement zum Verwalten von INI - Dateien ''' - + + + Public Class IniFile + Inherits Component @@ -39,21 +44,21 @@ Public Class IniFile ''' ''' Wird ausgelöst wenn sich der Dateiinhalt geändert hat. ''' - + Public Event FileContentChanged(sender As Object, e As EventArgs) ''' ''' Wird ausgelöst wenn sich der Dateikommentar geändert hat. ''' - + Public Event FileCommentChanged(sender As Object, e As EventArgs) ''' ''' Wird ausgelöst wenn sich die Liste der Abschnitte geändert hat. ''' - + Public Event SectionsChanged(sender As Object, e As EventArgs) @@ -61,14 +66,14 @@ Public Class IniFile ''' Wird ausgelöst wenn beim anlegen eines neuen Abschnitts oder ''' umbnennen eines Abschnitts der Name bereits vorhanden ist. '''
- + Public Event SectionNameExist(sender As Object, e As EventArgs) ''' ''' Wird ausgelöst wenn sich der Abschnittskommentar geändert hat. ''' - + Public Event SectionCommentChanged(sender As Object, e As EventArgs) @@ -76,21 +81,21 @@ Public Class IniFile ''' Wird ausgelöst wenn beim anlegen eines neuen Eintrags oder ''' umbenennen eines Eintrags der Name bereitsvorhanden ist. '''
- + Public Event EntrynameExist(sender As Object, e As EventArgs) ''' ''' wird ausgelöst wenn sich die Liste der Einträge geändert hat. ''' - + Public Event EntrysChanged(sender As Object, e As EventArgs) ''' ''' Wird ausgelöst wenn sich der Wert eines Eintrags in einem Abschnitt geändert hat. ''' - + Public Event EntryValueChanged(sender As Object, e As EventArgs) @@ -105,7 +110,7 @@ Public Class IniFile '''
- + Public Property CommentPrefix As Char Get Return Me._CommentPrefix @@ -121,7 +126,7 @@ Public Class IniFile ''' - + Public Property FilePath As String Get Return Me._FilePath @@ -140,7 +145,7 @@ Public Class IniFile ''' - + Public Property AutoSave As Boolean Get Return Me._AutoSave @@ -163,9 +168,11 @@ Public Class IniFile Public Sub New() 'anfänglichen Speicherort und Name der Datei sowie Standardprefix für Kommentare festlegen - Me.New(My.Computer.FileSystem.SpecialDirectories.MyDocuments & - IO.Path.DirectorySeparatorChar & - My.Resources.DefaultFileName, CChar(My.Resources.DefaultCommentPrefix)) + Me.New( + My.Computer.FileSystem.SpecialDirectories.MyDocuments & + IO.Path.DirectorySeparatorChar & + My.Resources.DefaultFileName, + CChar(My.Resources.DefaultCommentPrefix)) End Sub @@ -204,8 +211,9 @@ Public Class IniFile 'Parameter überprüfen If String.IsNullOrWhiteSpace(FilePath) Then Throw New ArgumentException( - $"Der Parameter""{NameOf(FilePath)}"" darf nicht NULL oder ein Leerraumzeichen sein.", - NameOf(FilePath)) + String.Format( + My.Resources.ErrorMsgNullOrWhitSpace, + NameOf(FilePath))) End If 'Pfad und Name der Datei merken @@ -239,8 +247,9 @@ Public Class IniFile 'Parameter überprüfen If String.IsNullOrWhiteSpace(FilePath) Then Throw New ArgumentException( - $"Der Parameter""{NameOf(FilePath)}"" darf nicht NULL oder ein Leerraumzeichen sein.", - NameOf(FilePath)) + String.Format( + My.Resources.ErrorMsgNullOrWhitSpace, + NameOf(FilePath))) End If 'Pfad und Name der Datei merken @@ -255,9 +264,6 @@ Public Class IniFile ''' Public Sub SaveFile() - 'Dateiinhalt erzeugen - Me.CreateFileContent() - 'Dateiinhalt auf Datenträger schreiben IO.File.WriteAllLines(Me._FilePath, Me._FileContent) @@ -268,7 +274,9 @@ Public Class IniFile ''' Gibt den Dateiinhalt zurück ''' Public Function GetFileContent() As String() + Return Me._FileContent + End Function @@ -276,7 +284,9 @@ Public Class IniFile ''' Gibt den Dateikommentar zurück ''' Public Function GetFileComment() As String() + Return Me._FileComment.ToArray + End Function @@ -294,6 +304,9 @@ Public Class IniFile 'neuen Dateikommentar übenehmen Me._FileComment.AddRange(CommentLines) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'Änderungen eventuell speichern If Me._AutoSave Then Me.SaveFile() @@ -369,6 +382,9 @@ Public Class IniFile 'neuen Abschnitt erstellen Me.AddNewSection(Name) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'Änderungen eventuell speichern If Me._AutoSave Then Me.SaveFile() @@ -402,6 +418,9 @@ Public Class IniFile 'neuen Eintrag erstellen Me.AddNewEntry(Section, Name) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'Änderungen eventuell speichern If Me._AutoSave Then Me.SaveFile() @@ -438,6 +457,9 @@ Public Class IniFile 'Name-Kommentar-Paar umbenennen Me.RenameSectionComment(OldName, NewName) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'Änderungen eventuell speichern If Me._AutoSave Then Me.SaveFile() @@ -467,9 +489,13 @@ Public Class IniFile Exit Sub End If + 'Name-Wert-Paar des Eintrags umbenennen Me.RenameEntryvalue(Section, Oldname, NewName) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'Änderungen eventuell speichern If Me._AutoSave Then Me.SaveFile() @@ -492,6 +518,9 @@ Public Class IniFile Dim unused = Me._Sections.Remove(Name) Dim unused1 = Me._SectionsComments.Remove(Name) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'Änderungen eventuell speichern If Me._AutoSave Then Me.SaveFile() @@ -516,6 +545,9 @@ Public Class IniFile 'Eintrag aus der Liste der Einträge entfernen Dim unused = Me._Sections.Item(Section).Remove(Entry) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'Änderungen eventuell speichern If Me._AutoSave Then Me.SaveFile() @@ -583,6 +615,9 @@ Public Class IniFile Me._SectionsComments.Item(Name).Clear() Me._SectionsComments.Item(Name).AddRange(CommentLines) + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'eventuell Änderung speichern If Me._AutoSave Then Me.SaveFile() @@ -610,6 +645,9 @@ Public Class IniFile 'geänderten Wert übenehmen Me._Sections.Item(Section).Item(Entry) = Value + 'Dateiinhalt neu erzeugen + Me.CreateFileContent() + 'eventuell Änderung speichern If Me._AutoSave Then Me.SaveFile() @@ -625,6 +663,7 @@ Public Class IniFile #Region "Definition der internen Funktionen" + ''' ''' Fügt einen neuen Abschnitt hinzu. ''' @@ -641,6 +680,7 @@ Public Class IniFile End Sub + ''' ''' fügt einen neuen Eintrag in einen Abschnitt ein. ''' @@ -654,6 +694,7 @@ Public Class IniFile Me._Sections.Item(Section).Add(Name, $"") End Sub + ''' ''' Benennt das Key-Comment-Paar eines Abschnitts um. ''' @@ -673,6 +714,7 @@ Public Class IniFile End Sub + ''' ''' Benennt das Key-Value-Paar eines Abschnitts um. ''' @@ -692,6 +734,7 @@ Public Class IniFile End Sub + ''' ''' Benennt einen Eintrag in einem Abschnitt um. ''' @@ -714,6 +757,7 @@ Public Class IniFile End Sub + ''' ''' Legt die anfänglichen Standardwerte fest ''' @@ -732,6 +776,7 @@ Public Class IniFile End Sub + ''' ''' Erzeugt den Dateiinhalt ''' @@ -782,6 +827,7 @@ Public Class IniFile End Sub + ''' ''' Erzeugt den Beispielinhalt der Datei ''' @@ -805,6 +851,7 @@ Public Class IniFile End Sub + ''' ''' analysiert den Dateiinhalt ''' @@ -828,6 +875,7 @@ Public Class IniFile End Sub + ''' ''' Analysiert eine Zeile. ''' @@ -860,6 +908,7 @@ Public Class IniFile End Sub + ''' ''' fügt einen Eintrag hinzu ''' @@ -877,6 +926,7 @@ Public Class IniFile End Sub + ''' ''' fügt eine Abschnittskommentarzeile hinzu ''' @@ -893,6 +943,7 @@ Public Class IniFile End Sub + ''' ''' fügt einen Abschnittsname hinzu ''' @@ -913,6 +964,7 @@ Public Class IniFile End Sub + ''' ''' fügt eine Dateikommentarzeile hinzu ''' @@ -929,6 +981,7 @@ Public Class IniFile End Sub + ''' ''' Initialisiert die Variablen für den Parser ''' @@ -940,6 +993,11 @@ Public Class IniFile End Sub + Private Sub InitializeComponent() + + End Sub + + #End Region diff --git a/IniFileControl/IniFileCommentEdit.Designer.vb b/IniFileControl/IniFileCommentEdit.Designer.vb new file mode 100644 index 0000000..0e2243f --- /dev/null +++ b/IniFileControl/IniFileCommentEdit.Designer.vb @@ -0,0 +1,77 @@ + _ +Partial Class IniFileCommentEdit + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(IniFileCommentEdit)) + Me.GroupBox = New System.Windows.Forms.GroupBox() + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() + Me.TextBox = New System.Windows.Forms.TextBox() + Me.Button = New System.Windows.Forms.Button() + Me.GroupBox.SuspendLayout() + Me.TableLayoutPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'GroupBox + ' + Me.GroupBox.Controls.Add(Me.TableLayoutPanel1) + resources.ApplyResources(Me.GroupBox, "GroupBox") + Me.GroupBox.Name = "GroupBox" + Me.GroupBox.TabStop = False + ' + 'TableLayoutPanel1 + ' + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.Controls.Add(Me.TextBox, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Button, 0, 1) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'TextBox + ' + Me.TextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + resources.ApplyResources(Me.TextBox, "TextBox") + Me.TextBox.Name = "TextBox" + ' + 'Button + ' + resources.ApplyResources(Me.Button, "Button") + Me.Button.Name = "Button" + Me.Button.UseVisualStyleBackColor = True + ' + 'IniFileCommentEdit + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.GroupBox) + Me.Name = "IniFileCommentEdit" + Me.GroupBox.ResumeLayout(False) + Me.TableLayoutPanel1.ResumeLayout(False) + Me.TableLayoutPanel1.PerformLayout() + Me.ResumeLayout(False) + + End Sub + + Private WithEvents GroupBox As System.Windows.Forms.GroupBox + Private WithEvents Button As System.Windows.Forms.Button + Private WithEvents TextBox As System.Windows.Forms.TextBox + Private WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel +End Class diff --git a/IniFileControl/IniFileCommentEdit.en-US.resx b/IniFileControl/IniFileCommentEdit.en-US.resx new file mode 100644 index 0000000..24020d3 --- /dev/null +++ b/IniFileControl/IniFileCommentEdit.en-US.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + take over + + + In -fakeommentedit + + \ No newline at end of file diff --git a/IniFileControl/IniFileCommentEdit.resx b/IniFileControl/IniFileCommentEdit.resx index 5030469..7135166 100644 --- a/IniFileControl/IniFileCommentEdit.resx +++ b/IniFileControl/IniFileCommentEdit.resx @@ -117,13 +117,145 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 54 - - - 221, 35 - - + + + 1 + + + + Fill + + + + 3, 3 + + + True + + + Both + + + 153, 41 + + + 0 + + False + + + TextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 0 + + + Bottom, Right + + + 52, 50 + + + 104, 25 + + + 1 + + + übernehmen + + + Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 1 + + + Fill + + + 3, 16 + + + 2 + + + 159, 78 + + + 2 + + + TableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="TextBox" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Button" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0" /></TableLayoutSettings> + + + Fill + + + 0, 0 + + + 165, 97 + + + 0 + + + IniFileCommentEdit + + + GroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + en-US + + + True + + 6, 13 + + + 165, 97 + + + IniFileCommentEdit + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/IniFileControl/IniFileCommentEdit.vb b/IniFileControl/IniFileCommentEdit.vb index ce17c0f..b9232a8 100644 --- a/IniFileControl/IniFileCommentEdit.vb +++ b/IniFileControl/IniFileCommentEdit.vb @@ -6,32 +6,26 @@ Imports System -Imports System.Windows.Forms -Imports System.Drawing Imports System.ComponentModel -Imports Newtonsoft.Json.Linq +Imports System.Drawing +Imports System.Windows.Forms ''' ''' Steuerelement zum Anzeigen und Bearbeiten des Datei- oder Abschnitts- Kommentars einer INI - Datei. ''' - + Public Class IniFileCommentEdit - Inherits GroupBox - + Inherits UserControl -#Region "Definition der Variablen" - Private WithEvents Button As Button - Private WithEvents TextBox As TextBox Private _Lines As String() - -#End Region + Private _TitelText As String #Region "Definition der Ereignisse" @@ -40,24 +34,55 @@ Public Class IniFileCommentEdit ''' ''' Wird ausgelöst wenn sich der Kommentartext geändert hat. ''' - + Public Event CommentChanged(sender As Object, e As EventArgs) Private Event PropCommentChanged() + Private Event TitelTextChanged() #End Region + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me._TitelText = Me.GroupBox.Text + + End Sub + + #Region "Definition der neuen Eigenschaften" + + ''' + ''' Gibt den Text der Titelzeile zurück oder legt diesen fest. + ''' + ''' + + + + Public Property TitelText As String + Set(value As String) + Me._TitelText = value + RaiseEvent TitelTextChanged() + End Set + Get + Return Me._TitelText + End Get + End Property + + ''' ''' Gibt den Kommentartext zurück oder legt diesen fest. ''' - + Public Property Comment As String() Get Return Me._Lines @@ -68,11 +93,13 @@ Public Class IniFileCommentEdit End Set End Property + #End Region #Region "Definition der internen Ereignisbehandlungen" + Private Sub Button_Click(sender As Object, e As EventArgs) Handles _ Button.Click @@ -83,6 +110,7 @@ Public Class IniFileCommentEdit End Sub + Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) Handles _ TextBox.TextChanged @@ -91,6 +119,7 @@ Public Class IniFileCommentEdit End Sub + Private Sub IniFileCommentEdit_PropCommentChanged() Handles _ Me.PropCommentChanged @@ -99,64 +128,15 @@ Public Class IniFileCommentEdit End Sub + Private Sub IniFileCommentEdit_TitelTextChanged() Handles _ + Me.TitelTextChanged -#End Region - - - Public Sub New() - - 'Komponenten erstellen - Me.InitializeComponent() - - 'Komponenten anpassen - Me.TextBox.Size = New System.Drawing.Size(Me.Width - 16, Me.Height - Me.Button.Height - 44) - Me.Button.Location = New System.Drawing.Point(Me.TextBox.Width - Me.Button.Width, Me.TextBox.Height + 28) + Me.GroupBox.Text = Me._TitelText End Sub - Private Sub InitializeComponent() - - Me.Button = New System.Windows.Forms.Button() - Me.TextBox = New System.Windows.Forms.TextBox() - Me.SuspendLayout() - ' - 'Button - ' - Me.Button.Anchor = System.Windows.Forms.AnchorStyles.Bottom _ - Or System.Windows.Forms.AnchorStyles.Right - Me.Button.AutoSize = True - Me.Button.Enabled = False - Me.Button.Location = New System.Drawing.Point(0, 0) - Me.Button.Name = "Button" - Me.Button.Size = New System.Drawing.Size(84, 24) - Me.Button.TabIndex = 1 - Me.Button.Text = "übernehmen" - Me.Button.UseVisualStyleBackColor = True - ' - 'TextBox - ' - Me.TextBox.Anchor = System.Windows.Forms.AnchorStyles.Top _ - Or System.Windows.Forms.AnchorStyles.Bottom _ - Or System.Windows.Forms.AnchorStyles.Left _ - Or System.Windows.Forms.AnchorStyles.Right - Me.TextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TextBox.Location = New System.Drawing.Point(8, 20) - Me.TextBox.Multiline = True - Me.TextBox.Name = "TextBox" - Me.TextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both - Me.TextBox.Size = New System.Drawing.Size(100, 20) - Me.TextBox.TabIndex = 0 - Me.TextBox.WordWrap = False - ' - 'IniFileCommentEdit - ' - Me.Controls.Add(Me.TextBox) - Me.Controls.Add(Me.Button) - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub +#End Region End Class diff --git a/IniFileControl/IniFileContentView.Designer.vb b/IniFileControl/IniFileContentView.Designer.vb new file mode 100644 index 0000000..5406af6 --- /dev/null +++ b/IniFileControl/IniFileContentView.Designer.vb @@ -0,0 +1,58 @@ + _ +Partial Class IniFileContentView + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(IniFileContentView)) + Me.GroupBox = New System.Windows.Forms.GroupBox() + Me.TextBox = New System.Windows.Forms.TextBox() + Me.GroupBox.SuspendLayout() + Me.SuspendLayout() + ' + 'GroupBox + ' + Me.GroupBox.Controls.Add(Me.TextBox) + resources.ApplyResources(Me.GroupBox, "GroupBox") + Me.GroupBox.Name = "GroupBox" + Me.GroupBox.TabStop = False + ' + 'TextBox + ' + Me.TextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + resources.ApplyResources(Me.TextBox, "TextBox") + Me.TextBox.Name = "TextBox" + ' + 'IniFileContentView + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.GroupBox) + Me.Name = "IniFileContentView" + Me.GroupBox.ResumeLayout(False) + Me.GroupBox.PerformLayout() + Me.ResumeLayout(False) + + End Sub + + Private WithEvents GroupBox As System.Windows.Forms.GroupBox + Private WithEvents TextBox As System.Windows.Forms.TextBox +End Class diff --git a/IniFileControl/IniFileContentView.en-US.resx b/IniFileControl/IniFileContentView.en-US.resx new file mode 100644 index 0000000..51fab4e --- /dev/null +++ b/IniFileControl/IniFileContentView.en-US.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Inifilecontentview + + \ No newline at end of file diff --git a/IniFileControl/IniFileContentView.resx b/IniFileControl/IniFileContentView.resx index 732f9f3..2aea2c8 100644 --- a/IniFileControl/IniFileContentView.resx +++ b/IniFileControl/IniFileContentView.resx @@ -117,10 +117,85 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 51, 45 - - + + + Fill + + + + 3, 16 + + + + True + + + Both + + + 158, 76 + + + 0 + + False + + + TextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox + + + 0 + + + Fill + + + 0, 0 + + + 164, 95 + + + 0 + + + IniFileContentView + + + GroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + en-US + + + True + + 6, 13 + + + 164, 95 + + + IniFileContentView + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/IniFileControl/IniFileContentView.vb b/IniFileControl/IniFileContentView.vb index 0a3a24f..c666904 100644 --- a/IniFileControl/IniFileContentView.vb +++ b/IniFileControl/IniFileContentView.vb @@ -4,6 +4,7 @@ ' **************************************************************************************************************** ' + Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms @@ -13,34 +14,62 @@ Imports System.Windows.Forms ''' Steuerelement zum Anzeigen des Dateiinhaltes. ''' - + Public Class IniFileContentView - Inherits GroupBox + Inherits UserControl - Private WithEvents TextBox As TextBox Private _Lines As String() + Private _TitelText As String Private Event PropLinesChanged() + Private Event TitelTextChanged() Public Sub New() - 'interne Controls initialisieren + ' Dieser Aufruf ist für den Designer erforderlich. Me.InitializeComponent() + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me._TitelText = Me.GroupBox.Text + End Sub +#Region "Definition der neuen Eigenschaften" + + + ''' + ''' Gibt den Text der Titelzeile zurück oder legt diesen fest. + ''' + ''' + + + + Public Property TitelText As String + Set(value As String) + Me._TitelText = value + RaiseEvent TitelTextChanged() + End Set + Get + Return Me._TitelText + End Get + End Property + + ''' ''' Setzt Dateiinhalt ''' ''' + + + Public Property Lines As String() Get Return Me._Lines @@ -52,6 +81,10 @@ Public Class IniFileContentView End Property +#End Region + + + Private Sub IniFileContentView_LinesChanged() Handles _ Me.PropLinesChanged @@ -59,29 +92,10 @@ Public Class IniFileContentView End Sub + Private Sub IniFileCommentEdit_TitelTextChanged() Handles _ + Me.TitelTextChanged - Private Sub InitializeComponent() - Me.TextBox = New TextBox() - Me.SuspendLayout() - ' - 'TextBox - ' - Me.TextBox.Anchor = AnchorStyles.Top Or AnchorStyles.Left Or AnchorStyles.Right - Me.TextBox.BorderStyle = BorderStyle.FixedSingle - Me.TextBox.Location = New Point(6, 19) - Me.TextBox.Name = "TextBox" - Me.TextBox.ScrollBars = ScrollBars.Both - 'Me.TextBox.Size = New Size(Me.Width - 12, 20) - Me.TextBox.TabIndex = 0 - Me.TextBox.WordWrap = False - Me.TextBox.Dock = DockStyle.Fill - Me.TextBox.Multiline = True - Me.TextBox.ReadOnly = True - ' - 'IniFileContentView - ' - Me.Controls.Add(Me.TextBox) - Me.ResumeLayout(False) + Me.GroupBox.Text = Me._TitelText End Sub diff --git a/IniFileControl/IniFileControl.vbproj b/IniFileControl/IniFileControl.vbproj index f8713e2..3953ff7 100644 --- a/IniFileControl/IniFileControl.vbproj +++ b/IniFileControl/IniFileControl.vbproj @@ -81,23 +81,38 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb Component + + IniFileCommentEdit.vb + - Component + UserControl + + + IniFileContentView.vb - Component + UserControl + + + IniFileEntryValueEdit.vb - Component + UserControl + + + IniFileListEdit.vb - Component + UserControl @@ -119,29 +134,51 @@ - + + IniFile.vb + + + IniFile.vb + + + IniFileCommentEdit.vb + + + IniFileCommentEdit.vb + + + IniFileContentView.vb + IniFileContentView.vb + + IniFileEntryValueEdit.vb + IniFileEntryValueEdit.vb - - - - - - IniFileCommentEdit.vb + + IniFileListEdit.vb IniFileListEdit.vb + + + + + + My.Resources VbMyResourcesResXFileCodeGenerator Resources.Designer.vb + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + take over + + + Inifileentryvalueedit + + \ No newline at end of file diff --git a/IniFileControl/IniFileEntryValueEdit.resx b/IniFileControl/IniFileEntryValueEdit.resx index 96a458a..529aa69 100644 --- a/IniFileControl/IniFileEntryValueEdit.resx +++ b/IniFileControl/IniFileEntryValueEdit.resx @@ -117,13 +117,142 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 37, 31 - - - 202, 32 - - + + + Bottom, Right + + + + 48, 29 + + + 98, 25 + + + + 0 + + + übernehmen + + + Button + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 1 + + + Top, Left, Right + + + 3, 3 + + + Both + + + 143, 20 + + + 1 + + False + + + TextBox + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 0 + + + 1 + + + Fill + + + 3, 16 + + + 2 + + + 149, 54 + + + 2 + + + TableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="TextBox" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="Button" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0" /></TableLayoutSettings> + + + Fill + + + 0, 0 + + + 155, 73 + + + 2 + + + InifileEntryValueEdit + + + GroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + en-US + + + True + + 6, 13 + + + 155, 73 + + + IniFileEntryValueEdit + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/IniFileControl/IniFileEntryValueEdit.vb b/IniFileControl/IniFileEntryValueEdit.vb index fb38d98..d5aa0c8 100644 --- a/IniFileControl/IniFileEntryValueEdit.vb +++ b/IniFileControl/IniFileEntryValueEdit.vb @@ -4,31 +4,26 @@ ' **************************************************************************************************************** ' -Imports System + Imports System.ComponentModel -Imports System.Drawing Imports System.Windows.Forms +Imports System.Drawing ''' ''' Steuerelement zum Anzeigen und Bearbeiten der Einträge eines Abschnitts einer INI - Datei. ''' - + - + Public Class IniFileEntryValueEdit - Inherits GroupBox + Inherits UserControl -#Region "Definition der Variablen" - - Private WithEvents Button As Button - Private WithEvents TextBox As TextBox - -#End Region + Private _TitelText As String #Region "Definition der Ereignisse" @@ -37,19 +32,52 @@ Public Class IniFileEntryValueEdit ''' ''' Wird ausgelöst wenn sich der Wert geändert hat. ''' - - Public Event ValueChanged(sender As Object, e As EventArgs) + + Public Event ValueChanged(sender As Object, e As System.EventArgs) + + + Private Event TitelTextChanged() #End Region + Public Sub New() + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me._TitelText = Me.GroupBox.Text + + End Sub + + #Region "Definition der neuen Eigenschaften" + + ''' + ''' Gibt den Text der Titelzeile zurück oder legt diesen fest. + ''' + ''' + + + + Public Property TitelText As String + Set(value As String) + Me._TitelText = value + RaiseEvent TitelTextChanged() + End Set + Get + Return Me._TitelText + End Get + End Property + + ''' ''' Eintragswert ''' - + Public Property Value As String Get Return Me.TextBox.Text @@ -65,15 +93,17 @@ Public Class IniFileEntryValueEdit #Region "Definition der internen Ereignisbehandlungen" - Private Sub Button_Click(sender As Object, e As EventArgs) Handles _ + + Private Sub Button_Click(sender As Object, e As System.EventArgs) Handles _ Button.Click 'Ereignis auslösen - RaiseEvent ValueChanged(Me, EventArgs.Empty) + RaiseEvent ValueChanged(Me, System.EventArgs.Empty) End Sub - Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) Handles _ + + Private Sub TextBox_TextChanged(sender As Object, e As System.EventArgs) Handles _ TextBox.TextChanged 'Button aktivieren @@ -81,58 +111,15 @@ Public Class IniFileEntryValueEdit End Sub -#End Region - + Private Sub IniFileCommentEdit_TitelTextChanged() Handles _ + Me.TitelTextChanged - Public Sub New() - - 'Komponenten erstellen - Me.InitializeComponent() - - 'Komponenten anpassen - Me.TextBox.Size = New System.Drawing.Size(Me.Width - 12, 20) - Me.Button.Location = New System.Drawing.Point(Me.TextBox.Width - Me.Button.Width, Me.TextBox.Top + Me.TextBox.Height + 6) + Me.GroupBox.Text = Me._TitelText End Sub - Private Sub InitializeComponent() - - Me.Button = New System.Windows.Forms.Button() - Me.TextBox = New System.Windows.Forms.TextBox() - Me.SuspendLayout() - ' - 'Button - ' - Me.Button.Anchor = System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right - Me.Button.AutoSize = True - Me.Button.Enabled = False - Me.Button.Location = New System.Drawing.Point(0, 0) - Me.Button.Name = "Button" - Me.Button.Size = New System.Drawing.Size(84, 24) - Me.Button.TabIndex = 5 - Me.Button.Text = "übernehmen" - Me.Button.UseVisualStyleBackColor = True - ' - 'TextBox - ' - Me.TextBox.Anchor = System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left _ - Or System.Windows.Forms.AnchorStyles.Right - Me.TextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TextBox.Location = New System.Drawing.Point(6, 19) - Me.TextBox.Name = "TextBox" - Me.TextBox.Size = New System.Drawing.Size(100, 20) - Me.TextBox.TabIndex = 0 - Me.TextBox.WordWrap = False - ' - 'IniFileEntryValueEdit - ' - Me.Controls.Add(Me.TextBox) - Me.Controls.Add(Me.Button) - Me.ResumeLayout(False) - Me.PerformLayout() - - End Sub +#End Region End Class diff --git a/IniFileControl/IniFileListEdit.Designer.vb b/IniFileControl/IniFileListEdit.Designer.vb new file mode 100644 index 0000000..d05614a --- /dev/null +++ b/IniFileControl/IniFileListEdit.Designer.vb @@ -0,0 +1,105 @@ + _ +Partial Class IniFileListEdit + Inherits System.Windows.Forms.UserControl + + 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(IniFileListEdit)) + Me.GroupBox = New System.Windows.Forms.GroupBox() + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel() + Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel() + Me.ButtonAdd = New System.Windows.Forms.Button() + Me.ButtonRename = New System.Windows.Forms.Button() + Me.ButtonDelete = New System.Windows.Forms.Button() + Me.ListBox = New System.Windows.Forms.ListBox() + Me.GroupBox.SuspendLayout() + Me.TableLayoutPanel1.SuspendLayout() + Me.TableLayoutPanel2.SuspendLayout() + Me.SuspendLayout() + ' + 'GroupBox + ' + Me.GroupBox.Controls.Add(Me.TableLayoutPanel1) + resources.ApplyResources(Me.GroupBox, "GroupBox") + Me.GroupBox.Name = "GroupBox" + Me.GroupBox.TabStop = False + ' + 'TableLayoutPanel1 + ' + resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1") + Me.TableLayoutPanel1.Controls.Add(Me.TableLayoutPanel2, 0, 1) + Me.TableLayoutPanel1.Controls.Add(Me.ListBox, 0, 0) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + ' + 'TableLayoutPanel2 + ' + resources.ApplyResources(Me.TableLayoutPanel2, "TableLayoutPanel2") + Me.TableLayoutPanel2.Controls.Add(Me.ButtonAdd, 0, 0) + Me.TableLayoutPanel2.Controls.Add(Me.ButtonRename, 1, 0) + Me.TableLayoutPanel2.Controls.Add(Me.ButtonDelete, 2, 0) + Me.TableLayoutPanel2.Name = "TableLayoutPanel2" + ' + 'ButtonAdd + ' + resources.ApplyResources(Me.ButtonAdd, "ButtonAdd") + Me.ButtonAdd.Name = "ButtonAdd" + Me.ButtonAdd.UseVisualStyleBackColor = True + ' + 'ButtonRename + ' + resources.ApplyResources(Me.ButtonRename, "ButtonRename") + Me.ButtonRename.Name = "ButtonRename" + Me.ButtonRename.UseVisualStyleBackColor = True + ' + 'ButtonDelete + ' + resources.ApplyResources(Me.ButtonDelete, "ButtonDelete") + Me.ButtonDelete.Name = "ButtonDelete" + Me.ButtonDelete.UseVisualStyleBackColor = True + ' + 'ListBox + ' + resources.ApplyResources(Me.ListBox, "ListBox") + Me.ListBox.FormattingEnabled = True + Me.ListBox.Name = "ListBox" + ' + 'IniFileListEdit + ' + resources.ApplyResources(Me, "$this") + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.GroupBox) + Me.Name = "IniFileListEdit" + Me.GroupBox.ResumeLayout(False) + Me.TableLayoutPanel1.ResumeLayout(False) + Me.TableLayoutPanel1.PerformLayout() + Me.TableLayoutPanel2.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + + Private WithEvents ButtonDelete As System.Windows.Forms.Button + Private WithEvents ButtonRename As System.Windows.Forms.Button + Private WithEvents ButtonAdd As System.Windows.Forms.Button + Private WithEvents ListBox As System.Windows.Forms.ListBox + Private WithEvents GroupBox As System.Windows.Forms.GroupBox + Private WithEvents TableLayoutPanel2 As System.Windows.Forms.TableLayoutPanel + Private WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel +End Class diff --git a/IniFileControl/IniFileListEdit.en-US.resx b/IniFileControl/IniFileListEdit.en-US.resx new file mode 100644 index 0000000..2828171 --- /dev/null +++ b/IniFileControl/IniFileListEdit.en-US.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + add + + + rename + + + delete + + + Inifilelistedit + + \ No newline at end of file diff --git a/IniFileControl/IniFileListEdit.resx b/IniFileControl/IniFileListEdit.resx index 179a850..83eae2a 100644 --- a/IniFileControl/IniFileListEdit.resx +++ b/IniFileControl/IniFileListEdit.resx @@ -117,19 +117,226 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 658, 17 + + + 1 + + + + Bottom, Right + + + True + + + GrowAndShrink + + + 3 + + + + 3, 3 + + + 98, 27 + + + 1 + + + hinzufügen + + + ButtonAdd + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 0 + + + NoControl + + + 107, 3 + + + 98, 27 + + + 2 + + + umbenennen + + + ButtonRename + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 1 + + + NoControl + + + 211, 3 + + + 98, 27 + + + 3 + + + löschen + + + ButtonDelete + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel2 + + + 2 + + + 6, 39 + + + 1 + + + 312, 33 + + + 5 + + + TableLayoutPanel2 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="ButtonAdd" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="ButtonRename" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="ButtonDelete" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + + Fill + + + 3, 3 + + + 315, 30 + + + 0 + + + ListBox + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + TableLayoutPanel1 + + + 1 + + + Fill + + + 3, 16 + + + 2 + + + 321, 75 + + + 4 + + + TableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + GroupBox + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="TableLayoutPanel2" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="ListBox" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0" /></TableLayoutSettings> + + + Fill + + + 0, 0 + + + 327, 94 + + + 0 + + + IniFileListEdit + + + GroupBox + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + en-US - - 825, 17 - - - 1002, 17 - - - 1158, 17 - - - False + + True + + 6, 13 + + + 327, 94 + + + IniFileListEdit + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/IniFileControl/IniFileListEdit.vb b/IniFileControl/IniFileListEdit.vb index 0dfacd0..bdfadbc 100644 --- a/IniFileControl/IniFileListEdit.vb +++ b/IniFileControl/IniFileListEdit.vb @@ -4,6 +4,7 @@ ' **************************************************************************************************************** ' + Imports System Imports System.ComponentModel Imports System.Drawing @@ -14,22 +15,20 @@ Imports System.Windows.Forms ''' Steuerelement zum Anzeigen und Bearbeiten der Abschnitts- oder Eintrags- Liste einer INI - Datei. ''' - + -Public NotInheritable Class IniFileListEdit +Public Class IniFileListEdit + - Inherits GroupBox + Inherits UserControl #Region "Definition der Variablen" - Private WithEvents Button_Delete As Button - Private WithEvents Button_Rename As Button - Private WithEvents Button_Add As Button - Private WithEvents ListBox As ListBox Private _SelectedItem As String = $"" Private _Items As String() + Private _TitelText As String #End Region @@ -40,7 +39,7 @@ Public NotInheritable Class IniFileListEdit ''' ''' Wird ausgelöst wenn ein Eintrag hinzugefügt werden soll. ''' - + Public Event ItemAdd(sender As Object, e As EventArgs) @@ -48,7 +47,7 @@ Public NotInheritable Class IniFileListEdit ''' ''' Wird ausgelöst wenn ein Eintrag umbenannt werden soll. ''' - + Public Event ItemRename(sender As Object, e As EventArgs) @@ -56,7 +55,7 @@ Public NotInheritable Class IniFileListEdit ''' ''' Wird ausgelöst wenn ein Eintrag gelöscht werden soll. ''' - + Public Event ItemRemove(sender As Object, e As EventArgs) @@ -64,29 +63,57 @@ Public NotInheritable Class IniFileListEdit ''' ''' Wird ausgelöst wenn sich der gewählte Eintrag geändert hat. ''' - + Public Event SelectedItemChanged(sender As Object, e As EventArgs) + Private Event TitelTextChanged() + + #End Region - ''' - ''' Erstellt eine neue Instanz dieser Klasse - ''' Public Sub New() - 'interne Controls initialisieren - Me.InitializeControls() + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + Me._TitelText = Me.GroupBox.Text End Sub +#Region "Definition der neuen Eigenschaften" + + + ''' + ''' Gibt den Text der Titelzeile zurück oder legt diesen fest. + ''' + ''' + + + + Public Property TitelText As String + Set(value As String) + Me._TitelText = value + RaiseEvent TitelTextChanged() + End Set + Get + Return Me._TitelText + End Get + End Property + +#End Region + + +#Region "ausgeblendete Eigenschaften" + + ''' ''' Gibt den ausgewählten Eintrag oder leer zurück. ''' - Public ReadOnly Property SelectedItem As String Get @@ -98,7 +125,6 @@ Public NotInheritable Class IniFileListEdit ''' ''' Elemente der Listbox. ''' - Public WriteOnly Property Items() As String() Set @@ -108,8 +134,12 @@ Public NotInheritable Class IniFileListEdit End Property +#End Region + + #Region "Definition der internen Ereignisbehandlungen" + ''' ''' Setzt die Eigenschaft und schaltet die Buttons. ''' @@ -128,41 +158,54 @@ Public NotInheritable Class IniFileListEdit End Sub + ''' ''' Löst das Ereignis zum hinzufügen eines Eintrags aus. ''' Private Sub Button_Add_Click(sender As Object, e As EventArgs) Handles _ - Button_Add.Click + ButtonAdd.Click RaiseEvent ItemAdd(Me, EventArgs.Empty) End Sub + ''' ''' Löst das Ereignis zum Umbenennen eines Eintrags aus. ''' Private Sub Button_Rename_Click(sender As Object, e As EventArgs) Handles _ - Button_Rename.Click + ButtonRename.Click RaiseEvent ItemRename(Me, EventArgs.Empty) End Sub + ''' ''' Löst das Ereignis zum Löschen eines Eintrags aus. ''' Private Sub Button_Delete_Click(sender As Object, e As EventArgs) Handles _ - Button_Delete.Click + ButtonDelete.Click RaiseEvent ItemRemove(Me, EventArgs.Empty) End Sub + + Private Sub IniFileCommentEdit_TitelTextChanged() Handles _ + Me.TitelTextChanged + + Me.GroupBox.Text = Me._TitelText + + End Sub + + #End Region #Region "Definition der internen Funktionen" + ''' ''' Setzt die Eigenschaft auf den Gewählten Eintrrag ''' @@ -172,11 +215,12 @@ Public NotInheritable Class IniFileListEdit Me._SelectedItem = CStr(Me.ListBox.SelectedItem) 'Buttons schalten - Me.Button_Delete.Enabled = True - Me.Button_Rename.Enabled = True + Me.ButtonDelete.Enabled = True + Me.ButtonRename.Enabled = True End Sub + ''' ''' Setzt die Eigenschaft auf leer. ''' @@ -186,11 +230,12 @@ Public NotInheritable Class IniFileListEdit Me._SelectedItem = $"" 'Buttons schalten - Me.Button_Delete.Enabled = False - Me.Button_Rename.Enabled = False + Me.ButtonDelete.Enabled = False + Me.ButtonRename.Enabled = False End Sub + ''' ''' Befüllt die Listbox ''' @@ -209,137 +254,15 @@ Public NotInheritable Class IniFileListEdit Me._SelectedItem = $"" 'Buttons schalten - Me.Button_Add.Enabled = True - Me.Button_Delete.Enabled = False - Me.Button_Rename.Enabled = False + Me.ButtonAdd.Enabled = True + Me.ButtonDelete.Enabled = False + Me.ButtonRename.Enabled = False 'Event auslösen RaiseEvent SelectedItemChanged(Me, EventArgs.Empty) End Sub - ''' - ''' Initialisiert die untergeordneten Controls. - ''' - Private Sub InitializeControls() - - 'Variablen für interne Controls aktivieren - Me.SetControls() - Me.SuspendLayout() - - 'Löschbutton initialisieren - Me.InitButtonDelete() - - 'Umbennenbutton initialisieren - Me.InitButtoRename() - - 'Hinzufügenbutton initialisieren - Me.InitButtonAdd() - - 'Listbox initialisieren - Me.InitListBox() - - 'intene Controls hinzufügen - Me.AddControls() - Me.ResumeLayout(False) - - End Sub - - ''' - ''' intene Controls hinzufügen - ''' - Private Sub AddControls() - - With Me.Controls - .Add(Me.ListBox) - .Add(Me.Button_Delete) - .Add(Me.Button_Rename) - .Add(Me.Button_Add) - End With - - End Sub - - ''' - ''' Listbox initialisieren - ''' - Private Sub InitListBox() - - With Me.ListBox - .Anchor = AnchorStyles.Top Or AnchorStyles.Bottom Or AnchorStyles.Left Or AnchorStyles.Right - .FormattingEnabled = True - .Location = New Point(8, 20) - .Name = "ListBox" - .Size = New Size(Me.Width - 20, Me.Height - 60) - .TabIndex = 0 - End With - - End Sub - - ''' - ''' Hinzufügenbutton initialisieren - ''' - Private Sub InitButtonAdd() - - With Me.Button_Add - .Anchor = AnchorStyles.Bottom Or AnchorStyles.Right - .Enabled = False - .Location = New Point(Me.Width - 312, Me.Height - 32) - .Name = "Button_Add" - .Size = New Size(96, 24) - .TabIndex = 1 - .Text = "hinzufügen" - .UseVisualStyleBackColor = True - End With - - End Sub - - ''' - ''' Umbenennenbutton initialisieren - ''' - Private Sub InitButtoRename() - - With Me.Button_Rename - .Anchor = AnchorStyles.Bottom Or AnchorStyles.Right - .Enabled = False - .Location = New Point(Me.Width - 210, Me.Height - 32) - .Name = "Button_Rename" - .Size = New Size(96, 24) - .TabIndex = 2 - .Text = "umbenennen" - .UseVisualStyleBackColor = True - End With - - End Sub - - ''' - ''' Initialisiert den Löschbutton - ''' - Private Sub InitButtonDelete() - - With Me.Button_Delete - .Anchor = AnchorStyles.Bottom Or AnchorStyles.Right - .Enabled = False - .Location = New Point(Me.Width - 110, Me.Height - 32) - .Name = "Button_Delete" - .Size = New Size(96, 24) - .TabIndex = 3 - .Text = "löschen" - .UseVisualStyleBackColor = True - End With - - End Sub - - ''' - ''' aktiviert die Variablen für die intenen Controls - ''' - Private Sub SetControls() - - Me.Button_Delete = New Button() - Me.Button_Rename = New Button() - Me.Button_Add = New Button() - Me.ListBox = New ListBox() - - End Sub #End Region diff --git a/IniFileControl/My Project/AssemblyInfo.vb b/IniFileControl/My Project/AssemblyInfo.vb index 698537f..8dd388b 100644 --- a/IniFileControl/My Project/AssemblyInfo.vb +++ b/IniFileControl/My Project/AssemblyInfo.vb @@ -1,3 +1,4 @@ +Imports System.Resources Imports System.Reflection Imports System.Runtime.CompilerServices Imports System.Runtime.InteropServices @@ -14,6 +15,6 @@ Imports Microsoft.VisualBasic - - - + + + diff --git a/IniFileControl/My Project/Resources.Designer.vb b/IniFileControl/My Project/Resources.Designer.vb index c844c45..da44e34 100644 --- a/IniFileControl/My Project/Resources.Designer.vb +++ b/IniFileControl/My Project/Resources.Designer.vb @@ -60,6 +60,87 @@ Namespace My.Resources End Set End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt das Speicherverhalten der Klasse fest. ähnelt. + ''' + Friend ReadOnly Property AutoSaveDescription() As String + Get + Return ResourceManager.GetString("AutoSaveDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Steuerelement zum Anzeigen und Bearbeiten des Datei- oder Abschnitts- Kommentars einer INI - Datei. ähnelt. + ''' + Friend ReadOnly Property ClassDescriptionCommentEdit() As String + Get + Return ResourceManager.GetString("ClassDescriptionCommentEdit", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Steuerelement zum Anzeigen des Dateiinhaltes. ähnelt. + ''' + Friend ReadOnly Property ClassDescriptionContentView() As String + Get + Return ResourceManager.GetString("ClassDescriptionContentView", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Steuerelement zum Anzeigen und Bearbeiten der Einträge eines Abschnitts einer INI - Datei. ähnelt. + ''' + Friend ReadOnly Property ClassDescriptionEntryValueEdit() As String + Get + Return ResourceManager.GetString("ClassDescriptionEntryValueEdit", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Steuerelement zum Verwalten von INI - Dateien ähnelt. + ''' + Friend ReadOnly Property ClassDescriptionIniFile() As String + Get + Return ResourceManager.GetString("ClassDescriptionIniFile", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Steuerelement zum Anzeigen und Bearbeiten der Abschnitts- oder Eintrags- Liste einer INI - Datei. ähnelt. + ''' + Friend ReadOnly Property ClassDescriptionListEdit() As String + Get + Return ResourceManager.GetString("ClassDescriptionListEdit", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich der Kommentartext geändert hat. ähnelt. + ''' + Friend ReadOnly Property CommentChangedDescription() As String + Get + Return ResourceManager.GetString("CommentChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Kommentartext zurück oder legt diesen fest. ähnelt. + ''' + Friend ReadOnly Property CommentDescription() As String + Get + Return ResourceManager.GetString("CommentDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt das Prefixzeichen für Kommentare zurück oder legt dieses fest. ähnelt. + ''' + Friend ReadOnly Property CommentPrefixDescription() As String + Get + Return ResourceManager.GetString("CommentPrefixDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Zeichenfolge, die ; ähnelt. ''' @@ -78,6 +159,69 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn beim anlegen eines neuen Eintrags oder umbenennen eines Eintrags der Name bereitsvorhanden ist. ähnelt. + ''' + Friend ReadOnly Property EntrynameExistDescription() As String + Get + Return ResourceManager.GetString("EntrynameExistDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die wird ausgelöst wenn sich die Liste der Einträge geändert hat. ähnelt. + ''' + Friend ReadOnly Property EntrysChangedDescription() As String + Get + Return ResourceManager.GetString("EntrysChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich der Wert eines Eintrags in einem Abschnitt geändert hat. ähnelt. + ''' + Friend ReadOnly Property EntryValueChangedDescription() As String + Get + Return ResourceManager.GetString("EntryValueChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Parameter "{0}" darf nicht NULL oder ein Leerraumzeichen sein. ähnelt. + ''' + Friend ReadOnly Property ErrorMsgNullOrWhitSpace() As String + Get + Return ResourceManager.GetString("ErrorMsgNullOrWhitSpace", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich der Dateikommentar geändert hat. ähnelt. + ''' + Friend ReadOnly Property FileCommentChangedDescription() As String + Get + Return ResourceManager.GetString("FileCommentChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich der Dateiinhalt geändert hat. ähnelt. + ''' + Friend ReadOnly Property FileContentChangedDescription() As String + Get + Return ResourceManager.GetString("FileContentChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Pfad und den Name zur INI-Datei zurück oder legt diesen fest. ähnelt. + ''' + Friend ReadOnly Property FilePathDescription() As String + Get + Return ResourceManager.GetString("FilePathDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -127,5 +271,104 @@ Namespace My.Resources Return CType(obj,System.Drawing.Bitmap) End Get End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Dateiinhalt zurück oder legt diesen fest. ähnelt. + ''' + Friend ReadOnly Property LinesDescription() As String + Get + Return ResourceManager.GetString("LinesDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn ein Eintrag hinzugefügt werden soll. ähnelt. + ''' + Friend ReadOnly Property ListEditItemAddDescription() As String + Get + Return ResourceManager.GetString("ListEditItemAddDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn ein Eintrag gelöscht werden soll. ähnelt. + ''' + Friend ReadOnly Property ListEditItemRemoveDescription() As String + Get + Return ResourceManager.GetString("ListEditItemRemoveDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn ein Eintrag umbenannt werden soll. ähnelt. + ''' + Friend ReadOnly Property ListEditItemRenameDescription() As String + Get + Return ResourceManager.GetString("ListEditItemRenameDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich der gewählte Eintrag geändert hat. ähnelt. + ''' + Friend ReadOnly Property ListEditSelectedItemChangedDescription() As String + Get + Return ResourceManager.GetString("ListEditSelectedItemChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich der Abschnittskommentar geändert hat. ähnelt. + ''' + Friend ReadOnly Property SectionCommentChangedDescription() As String + Get + Return ResourceManager.GetString("SectionCommentChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn beim anlegen eines neuen Abschnitts oder umbnennen eines Abschnitts der Name bereits vorhanden ist. ähnelt. + ''' + Friend ReadOnly Property SectionNameExistDescription() As String + Get + Return ResourceManager.GetString("SectionNameExistDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich die Liste der Abschnitte geändert hat. ähnelt. + ''' + Friend ReadOnly Property SectionsChangedDescription() As String + Get + Return ResourceManager.GetString("SectionsChangedDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt den Text der Titelzeile zurück oder legt diesen fest. ähnelt. + ''' + Friend ReadOnly Property TitelTextDescription() As String + Get + Return ResourceManager.GetString("TitelTextDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Eintragswert ähnelt. + ''' + Friend ReadOnly Property ValueDescription() As String + Get + Return ResourceManager.GetString("ValueDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Wird ausgelöst wenn sich der Wert geändert hat. ähnelt. + ''' + Friend ReadOnly Property ValueEditValueChanged() As String + Get + Return ResourceManager.GetString("ValueEditValueChanged", resourceCulture) + End Get + End Property End Module End Namespace diff --git a/IniFileControl/My Project/Resources.en-US.resx b/IniFileControl/My Project/Resources.en-US.resx new file mode 100644 index 0000000..e197b9e --- /dev/null +++ b/IniFileControl/My Project/Resources.en-US.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Determines the memory behavior of the class. + + + Control element for displaying and editing the file or section comment on an ini file. + + + Control element for displaying the file content. + + + Control element for displaying and editing the entries of an ini file section. + + + Control element for managing ini files + + + Control element for displaying and editing the section or entry list of an INI file. + + + Is triggered when the comment text has changed. + + + Put the comment text back or define it. + + + Gives back the prefix sign for comments or defines this festival. + + + ; + + + Neuedatei.ini + + + Is triggered if the name is already available when creating a new entry or renaming an entry. + + + is triggered when the list of entries has changed. + + + Is triggered if the value of an entry has changed in a section. + + + The parameter "{0}" must not be zero or an empty space sign. + + + Is triggered when the file commentary has changed. + + + Is triggered if the file content has changed. + + + Put the path and the name back to the ini file or define it. + + + Put the file content back or define it. + + + Is triggered if an entry is to be added. + + + Is triggered if an entry is to be deleted. + + + Is triggered if an entry is to be renamed. + + + Is triggered if the selected entry has changed. + + + Is triggered when the section comment has changed. + + + Is triggered if the name is already available when a new section or surrounding a section is. + + + Is triggered when the list of sections has changed. + + + Put the text of the title line back or define it. + + + Entry value + + + Is triggered when the value has changed. + + \ No newline at end of file diff --git a/IniFileControl/My Project/Resources.resx b/IniFileControl/My Project/Resources.resx index 50a3b6e..e59da98 100644 --- a/IniFileControl/My Project/Resources.resx +++ b/IniFileControl/My Project/Resources.resx @@ -117,12 +117,60 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Legt das Speicherverhalten der Klasse fest. + + + Steuerelement zum Anzeigen und Bearbeiten des Datei- oder Abschnitts- Kommentars einer INI - Datei. + + + Steuerelement zum Anzeigen des Dateiinhaltes. + + + Steuerelement zum Anzeigen und Bearbeiten der Einträge eines Abschnitts einer INI - Datei. + + + Steuerelement zum Verwalten von INI - Dateien + + + Steuerelement zum Anzeigen und Bearbeiten der Abschnitts- oder Eintrags- Liste einer INI - Datei. + + + Wird ausgelöst wenn sich der Kommentartext geändert hat. + + + Gibt den Kommentartext zurück oder legt diesen fest. + + + Gibt das Prefixzeichen für Kommentare zurück oder legt dieses fest. + ; NeueDatei.ini + + Wird ausgelöst wenn beim anlegen eines neuen Eintrags oder umbenennen eines Eintrags der Name bereitsvorhanden ist. + + + wird ausgelöst wenn sich die Liste der Einträge geändert hat. + + + Wird ausgelöst wenn sich der Wert eines Eintrags in einem Abschnitt geändert hat. + + + Der Parameter "{0}" darf nicht NULL oder ein Leerraumzeichen sein. + + + Wird ausgelöst wenn sich der Dateikommentar geändert hat. + + + Wird ausgelöst wenn sich der Dateiinhalt geändert hat. + + + Gibt den Pfad und den Name zur INI-Datei zurück oder legt diesen fest. + ..\Resources\IniFile.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -139,4 +187,37 @@ ..\Resources\IniFileListEdit.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Gibt den Dateiinhalt zurück oder legt diesen fest. + + + Wird ausgelöst wenn ein Eintrag hinzugefügt werden soll. + + + Wird ausgelöst wenn ein Eintrag gelöscht werden soll. + + + Wird ausgelöst wenn ein Eintrag umbenannt werden soll. + + + Wird ausgelöst wenn sich der gewählte Eintrag geändert hat. + + + Wird ausgelöst wenn sich der Abschnittskommentar geändert hat. + + + Wird ausgelöst wenn beim anlegen eines neuen Abschnitts oder umbnennen eines Abschnitts der Name bereits vorhanden ist. + + + Wird ausgelöst wenn sich die Liste der Abschnitte geändert hat. + + + Gibt den Text der Titelzeile zurück oder legt diesen fest. + + + Eintragswert + + + Wird ausgelöst wenn sich der Wert geändert hat. + \ No newline at end of file diff --git a/NotifyFormControl/FormTemplate.resx b/NotifyFormControl/FormTemplate.resx new file mode 100644 index 0000000..208bd9c --- /dev/null +++ b/NotifyFormControl/FormTemplate.resx @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + en-US + + + + 284, 261 + + + FormTemplate + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/NotifyFormControl/FormTemplate.vb b/NotifyFormControl/FormTemplate.vb index e3f737b..3ec8d38 100644 --- a/NotifyFormControl/FormTemplate.vb +++ b/NotifyFormControl/FormTemplate.vb @@ -277,6 +277,16 @@ Friend Class FormTemplate End Sub + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormTemplate)) + Me.SuspendLayout() + ' + 'FormTemplate + ' + resources.ApplyResources(Me, "$this") + Me.Name = "FormTemplate" + Me.ResumeLayout(False) + End Sub End Class diff --git a/NotifyFormControl/My Project/AssemblyInfo.vb b/NotifyFormControl/My Project/AssemblyInfo.vb index c8a23d1..fe6e8fc 100644 --- a/NotifyFormControl/My Project/AssemblyInfo.vb +++ b/NotifyFormControl/My Project/AssemblyInfo.vb @@ -1,3 +1,4 @@ +Imports System.Resources Imports System.Reflection Imports System.Runtime.CompilerServices Imports System.Runtime.InteropServices @@ -30,6 +31,6 @@ Imports Microsoft.VisualBasic ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - - - + + + diff --git a/NotifyFormControl/My Project/Resources.Designer.vb b/NotifyFormControl/My Project/Resources.Designer.vb index f749878..46330a4 100644 --- a/NotifyFormControl/My Project/Resources.Designer.vb +++ b/NotifyFormControl/My Project/Resources.Designer.vb @@ -60,6 +60,15 @@ Namespace My.Resources End Set End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Control zum Anzeigen von Benachrichtigungsfenstern. ähnelt. + ''' + Friend ReadOnly Property ClassDescription() As String + Get + Return ResourceManager.GetString("ClassDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -70,6 +79,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt das Aussehen des Benachrichtigungsfensters fest. ähnelt. + ''' + Friend ReadOnly Property DesignDescription() As String + Get + Return ResourceManager.GetString("DesignDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -80,6 +98,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt den Benachrichtigungstext fest der angezeigt werden soll oder gibt diesen zurück. ähnelt. + ''' + Friend ReadOnly Property MessageDescription() As String + Get + Return ResourceManager.GetString("MessageDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -100,6 +127,51 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Anzeigedauer des Benachrichtigungsfensters in ms fest oder gibt diese zurück. (Der Wert 0 deaktiviert das automatische schließen.) ähnelt. + ''' + Friend ReadOnly Property ShowTimeDescription() As String + Get + Return ResourceManager.GetString("ShowTimeDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Fensternachricht ähnelt. + ''' + Friend ReadOnly Property StandardMessage() As String + Get + Return ResourceManager.GetString("StandardMessage", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Fenstertitel ähnelt. + ''' + Friend ReadOnly Property StandardTitle() As String + Get + Return ResourceManager.GetString("StandardTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt das anzuzeigende Symbol des Benachrichtigungsfensters fest oder gibt dieses zurück. ähnelt. + ''' + Friend ReadOnly Property StyleDescription() As String + Get + Return ResourceManager.GetString("StyleDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt den Text der Titelzeile des Benachrichtigungsfensters fest oder gibt diesen zurück. ähnelt. + ''' + Friend ReadOnly Property TitleDescription() As String + Get + Return ResourceManager.GetString("TitleDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/NotifyFormControl/My Project/Resources.en-US.resx b/NotifyFormControl/My Project/Resources.en-US.resx new file mode 100644 index 0000000..29730bf --- /dev/null +++ b/NotifyFormControl/My Project/Resources.en-US.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Control for displaying notification windows. + + + Detects the appearance of the notification window. + + + Detects the notification text that should be displayed or gives it back. + + + Defines the display time of the notification window in MS or returns them. (The value 0 deactivates the automatic closure) + + + If the symbol of the notification window to be displayed, defines or returns it. + + + Detects the text of the title line of the notification window or returns it. + + + Window message + + + Window title + + \ No newline at end of file diff --git a/NotifyFormControl/My Project/Resources.resx b/NotifyFormControl/My Project/Resources.resx index 0b46e05..ffe462e 100644 --- a/NotifyFormControl/My Project/Resources.resx +++ b/NotifyFormControl/My Project/Resources.resx @@ -117,19 +117,43 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Control zum Anzeigen von Benachrichtigungsfenstern. + ..\Resources\CriticalError.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Legt das Aussehen des Benachrichtigungsfensters fest. + ..\Resources\Information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Legt den Benachrichtigungstext fest der angezeigt werden soll oder gibt diesen zurück. + ..\Resources\NotifyForm.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\Question.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Legt die Anzeigedauer des Benachrichtigungsfensters in ms fest oder gibt diese zurück. (Der Wert 0 deaktiviert das automatische schließen.) + + + Fensternachricht + + + Fenstertitel + + + Legt das anzuzeigende Symbol des Benachrichtigungsfensters fest oder gibt dieses zurück. + + + Legt den Text der Titelzeile des Benachrichtigungsfensters fest oder gibt diesen zurück. + ..\Resources\Warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/NotifyFormControl/NotifyForm.resx b/NotifyFormControl/NotifyForm.resx new file mode 100644 index 0000000..8f83e98 --- /dev/null +++ b/NotifyFormControl/NotifyForm.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + False + + + True + + \ No newline at end of file diff --git a/NotifyFormControl/NotifyForm.vb b/NotifyFormControl/NotifyForm.vb index 7c09b3f..5a34ce2 100644 --- a/NotifyFormControl/NotifyForm.vb +++ b/NotifyFormControl/NotifyForm.vb @@ -16,21 +16,35 @@ Imports System.Windows.Forms ''' Control zum anzeigen von Benachrichtigungsfenstern. ''' - + Public Class NotifyForm + Inherits Component + Private _Title As String = String.Format(My.Resources.StandardTitle) + Private _Message As String = String.Format(My.Resources.StandardMessage) + Private _Design As FormDesign = FormDesign.Bright + Private _ShowTime As Integer = 5000 + Private _Style As FormStyle = FormStyle.Information + ''' ''' Legt das Aussehen des Benachrichtigungsfensters fest. ''' - + Public Property Design As FormDesign + Get + Return Me._Design + End Get + Set + Me._Design = Value + End Set + End Property ''' @@ -38,8 +52,15 @@ Public Class NotifyForm ''' - - Public Property Message As String = $"Fensternachricht" + + Public Property Message As String + Get + Return Me._Message + End Get + Set + Me._Message = Value + End Set + End Property ''' @@ -50,8 +71,15 @@ Public Class NotifyForm ''' - - Public Property ShowTime As Integer = 5000 + + Public Property ShowTime As Integer + Get + Return Me._ShowTime + End Get + Set + Me._ShowTime = Value + End Set + End Property ''' @@ -59,8 +87,15 @@ Public Class NotifyForm ''' - - Public Property Style As FormStyle = FormStyle.Information + + Public Property Style As FormStyle + Get + Return Me._Style + End Get + Set + Me._Style = Value + End Set + End Property ''' @@ -68,8 +103,15 @@ Public Class NotifyForm ''' - - Public Property Title As String = $"Fenstertitel" + + Public Property Title As String + Get + Return Me._Title + End Get + Set + Me._Title = Value + End Set + End Property ''' @@ -181,4 +223,9 @@ Public Class NotifyForm End Function + Private Sub InitializeComponent() + + End Sub + + End Class diff --git a/NotifyFormControl/NotifyFormControl.vbproj b/NotifyFormControl/NotifyFormControl.vbproj index ffc8e28..1b7a00f 100644 --- a/NotifyFormControl/NotifyFormControl.vbproj +++ b/NotifyFormControl/NotifyFormControl.vbproj @@ -80,6 +80,9 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb @@ -111,6 +114,12 @@ + + FormTemplate.vb + + + Designer + My.Resources VbMyResourcesResXFileCodeGenerator @@ -118,6 +127,9 @@ + + NotifyForm.vb + diff --git a/README.md b/README.md index 6e97f4b..8be8659 100644 --- a/README.md +++ b/README.md @@ -15,25 +15,13 @@ Zurzeit sind folgende Steuerelemente vorhanden: --- -## Versionsverlauf - -**Version 2.2024.16.07** - -Datum: 16.07.2024 - -- Layoutfehler in **IniFileCommentEdit**, **IniFileEntryValueEdit** und **IniFileListEdit** beseitigt. +## geplante Änderungen -**Version 2.2024.30.06** +[siehe ToDo Liste](ToDo.md) -Datum: 30.06.2024 - -- Versionsnummern der Controls angepasst. -- Dokumentationsdateien angepasst. - -**Version 1.2024.06.24** +--- -Datum: 24.06.2024 +## Versionsverlauf -- Zusammenfassung aller bisher erstellten Controls in einer Erweiterung. -- Erstes Release dieser Fassung. +Details zu den einzelnen Versionen der Controls sind in den Beschreibungen der Controls zu finden. diff --git a/SchlumpfSoft Controls.sln b/SchlumpfSoft Controls.sln index 9f0229b..f739768 100644 --- a/SchlumpfSoft Controls.sln +++ b/SchlumpfSoft Controls.sln @@ -23,6 +23,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Projektmappenelemente", "Pr .gitignore = .gitignore LICENSE.txt = LICENSE.txt README.md = README.md + ToDo.md = ToDo.md EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{EAFFEA96-8EAF-4EA0-9C5F-FF0B2CBC2770}" @@ -39,6 +40,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{EAFFEA96-8 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CommonCodes", "CommonCodes", "{70445C5A-6847-451E-976E-E3543B4337D7}" ProjectSection(SolutionItems) = preProject + CommonCodes\MyDescription.vb = CommonCodes\MyDescription.vb CommonCodes\ProvideToolboxControlAttribute.vb = CommonCodes\ProvideToolboxControlAttribute.vb EndProjectSection EndProject @@ -183,6 +185,10 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution + RESX_CultureCountyOverrides = + RESX_AutoCreateNewLanguageFiles = True + RESX_PrefixTranslations = False + RESX_NeutralResourcesLanguage = de-DE SolutionGuid = {1F02675E-F1F5-4CB4-9063-742717056245} EndGlobalSection EndGlobal diff --git a/SchlumpfSoftControls/ReleaseNotes.txt b/SchlumpfSoftControls/ReleaseNotes.txt index 8b86776..d8a601c 100644 --- a/SchlumpfSoftControls/ReleaseNotes.txt +++ b/SchlumpfSoftControls/ReleaseNotes.txt @@ -2,17 +2,6 @@ Versionshinweise ---------------- -Version 2.2024.16.07 -Datum: 16.07.2024 -- Layoutfehler in "IniFileCommentEdit", "IniFileEntryValueEdit" und "IniFileListEdit" beseitigt. - -Version 2.2024.30.06 -Datum: 30.06.2024 -- Versionsnummern der Controls angepasst. -- Dokumentationsdateien angepasst. - -Version 1.2024.06.24 -Datum: 24.06.2024 -- Zusammenfassung aller bisher erstellten Controls in einer Erweiterung. -- Erstes Release dieser Fassung. - +Hinweise zu den Versionen der einzelnen Controls sind unter +folgendem Link zu finden: +https://github.com/Hanibal1963/SchlumpfSoftControls diff --git a/SevenSegmentControl/DescriptionConstants.vb b/SevenSegmentControl/DescriptionConstants.vb deleted file mode 100644 index 5b34a46..0000000 --- a/SevenSegmentControl/DescriptionConstants.vb +++ /dev/null @@ -1,42 +0,0 @@ -' **************************************************************************************************************** -' DescriptionConstants.vb -' © 2024 by Andreas Sauer -' **************************************************************************************************************** -' - -Friend Module DescriptionConstants - -#Region "Konstanten für Kategorinamen" - - Friend Const Category_Appearance = "Appearance" - -#End Region - -#Region "Konstanten für Beschreibungstexte" - - 'Klassenbeschreibungen - Friend Const SevSegSingleDigit_Description = "Control zum Anzeigen einer Ziffer als 7-Segmentanzeige." - Friend Const SevSegMultiDigit_Description = "Control zum Anzeigen einer Ziffernfolge als 7-Segmentanzeige." - - 'Eigenschaftsbeschreibungen - Friend Const InactiveColor_Description = "Legt die Farbe inaktiver Segmente fest oder gibt diese zurück." - Friend Const SegmentWidth_Description = "Legt die Breite der LED-Segmente fest oder gibt diese zurück." - Friend Const ItalicFactor_Description = "Scherkoeffizient für die Kursivschrift der Anzeige." - Friend Const DigitValue_Desciption = "Legt das anzuzeigende Zeichen fest oder gibt dieses zurück." - Friend Const CustomBitPattern_Description = "Legt ein benutzerdefiniertes Bitmuster fest, das in den _ - sieben Segmenten angezeigt werden soll. _ - Dies ist ein ganzzahliger Wert, bei dem die Bits 0 bis 6 den _ - jeweiligen LED-Segmenten entsprechen." - Friend Const ShowDecimalPoint_Description = "Gibt an, ob die Dezimalpunkt-LED angezeigt wird." - Friend Const DecimalPointActive_Description = "Gibt an, ob die Dezimalpunkt-LED aktiv ist." - Friend Const ShowColon_Description = "Gibt an, ob die Doppelpunkt-LEDs angezeigt werden." - Friend Const ColonActive_Description = "Gibt an, ob die Doppelpunkt-LEDs aktiv sind." - Friend Const BackColor_Description = "Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück." - Friend Const ForeColor_Description = "Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück." - Friend Const DigitCount_Description = "Anzahl der Digits in diesem Control." - Friend Const DigitPadding_Description = "Auffüllung, die für jedes Digit im Control gilt." - Friend Const Value_Description = "Der auf dem Control anzuzeigende Wert." - -#End Region - -End Module diff --git a/SevenSegmentControl/My Project/AssemblyInfo.vb b/SevenSegmentControl/My Project/AssemblyInfo.vb index 2444328..2f92498 100644 --- a/SevenSegmentControl/My Project/AssemblyInfo.vb +++ b/SevenSegmentControl/My Project/AssemblyInfo.vb @@ -1,4 +1,5 @@ -Imports System.Reflection +Imports System.Resources +Imports System.Reflection Imports System.Runtime.CompilerServices Imports System.Runtime.InteropServices Imports Microsoft.VisualBasic @@ -30,5 +31,6 @@ Imports Microsoft.VisualBasic ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - - + + + diff --git a/SevenSegmentControl/My Project/Resources.Designer.vb b/SevenSegmentControl/My Project/Resources.Designer.vb index 8433056..4464c80 100644 --- a/SevenSegmentControl/My Project/Resources.Designer.vb +++ b/SevenSegmentControl/My Project/Resources.Designer.vb @@ -60,6 +60,123 @@ Namespace My.Resources End Set End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property BackColorDescription() As String + Get + Return ResourceManager.GetString("BackColorDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Control zum Anzeigen einer Ziffernfolge als 7-Segmentanzeige. ähnelt. + ''' + Friend ReadOnly Property ClassDescriptionSevSegMultiDigit() As String + Get + Return ResourceManager.GetString("ClassDescriptionSevSegMultiDigit", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Control zum Anzeigen einer Ziffer als 7-Segmentanzeige. ähnelt. + ''' + Friend ReadOnly Property ClassDescriptionSevSegSingleDigit() As String + Get + Return ResourceManager.GetString("ClassDescriptionSevSegSingleDigit", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob die Doppelpunkt-LEDs aktiv sind. ähnelt. + ''' + Friend ReadOnly Property ColonActiveDescription() As String + Get + Return ResourceManager.GetString("ColonActiveDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt ein benutzerdefiniertes Bitmuster fest, das in den sieben Segmenten angezeigt werden soll. Dies ist ein ganzzahliger Wert, bei dem die Bits 0 bis 6 den jeweiligen LED-Segmenten entsprechen. ähnelt. + ''' + Friend ReadOnly Property CustomBitPatternDescription() As String + Get + Return ResourceManager.GetString("CustomBitPatternDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob die Dezimalpunkt-LED aktiv ist. ähnelt. + ''' + Friend ReadOnly Property DecimalPointActiveDescription() As String + Get + Return ResourceManager.GetString("DecimalPointActiveDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Anzahl der Digits in diesem Control. ähnelt. + ''' + Friend ReadOnly Property DigitCountDescription() As String + Get + Return ResourceManager.GetString("DigitCountDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Auffüllung, die für jedes Digit im Control gilt. ähnelt. + ''' + Friend ReadOnly Property DigitPaddingDescription() As String + Get + Return ResourceManager.GetString("DigitPaddingDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt das anzuzeigende Zeichen fest oder gibt dieses zurück. ähnelt. + ''' + Friend ReadOnly Property DigitValueDesciption() As String + Get + Return ResourceManager.GetString("DigitValueDesciption", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property ForeColorDescription() As String + Get + Return ResourceManager.GetString("ForeColorDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property InactiveColorDescription() As String + Get + Return ResourceManager.GetString("InactiveColorDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Scherkoeffizient für die Kursivschrift der Anzeige. ähnelt. + ''' + Friend ReadOnly Property ItalicFactorDescription() As String + Get + Return ResourceManager.GetString("ItalicFactorDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Breite der LED-Segmente fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property SegmentWidthDescription() As String + Get + Return ResourceManager.GetString("SegmentWidthDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -79,5 +196,32 @@ Namespace My.Resources Return CType(obj,System.Drawing.Bitmap) End Get End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob die Doppelpunkt-LEDs angezeigt werden. ähnelt. + ''' + Friend ReadOnly Property ShowColonDescription() As String + Get + Return ResourceManager.GetString("ShowColonDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gibt an, ob die Dezimalpunkt-LED angezeigt wird. ähnelt. + ''' + Friend ReadOnly Property ShowDecimalPointDescription() As String + Get + Return ResourceManager.GetString("ShowDecimalPointDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der auf dem Control anzuzeigende Wert. ähnelt. + ''' + Friend ReadOnly Property ValueDescription() As String + Get + Return ResourceManager.GetString("ValueDescription", resourceCulture) + End Get + End Property End Module End Namespace diff --git a/SevenSegmentControl/My Project/Resources.en-US.resx b/SevenSegmentControl/My Project/Resources.en-US.resx new file mode 100644 index 0000000..310de58 --- /dev/null +++ b/SevenSegmentControl/My Project/Resources.en-US.resx @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Detects the background color of the control or returns it. + + + Control for displaying a sequence of digits as a 7-segment ad. + + + Control for displaying a number as a 7-segment ad. + + + Indicates whether the colon LEDs are active. + + + Set a custom bit pattern that is to be displayed in the seven segments. This is an integer value in which Bits 0 to 6 meet the respective LED segments. + + + Indicates whether the decimal point LED is active. + + + Number of digits in this control. + + + Refilling that applies to every digit in the control. + + + Specifies the sign to be displayed or return it. + + + Specifies the foreground color of the control segments or returns it. + + + Detects the color of inactive segments or returns them. + + + Schecoefficient for the italics of the advertisement. + + + Detects the width of the LED segments or returns them. + + + Indicates whether the colon LEDs are displayed. + + + Indicates whether the decimal point LED is displayed. + + + The value to be displayed on the control. + + \ No newline at end of file diff --git a/SevenSegmentControl/My Project/Resources.resx b/SevenSegmentControl/My Project/Resources.resx index d5ab8d1..d2a1cb4 100644 --- a/SevenSegmentControl/My Project/Resources.resx +++ b/SevenSegmentControl/My Project/Resources.resx @@ -117,6 +117,45 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. + + + Control zum Anzeigen einer Ziffernfolge als 7-Segmentanzeige. + + + Control zum Anzeigen einer Ziffer als 7-Segmentanzeige. + + + Gibt an, ob die Doppelpunkt-LEDs aktiv sind. + + + Legt ein benutzerdefiniertes Bitmuster fest, das in den sieben Segmenten angezeigt werden soll. Dies ist ein ganzzahliger Wert, bei dem die Bits 0 bis 6 den jeweiligen LED-Segmenten entsprechen. + + + Gibt an, ob die Dezimalpunkt-LED aktiv ist. + + + Anzahl der Digits in diesem Control. + + + Auffüllung, die für jedes Digit im Control gilt. + + + Legt das anzuzeigende Zeichen fest oder gibt dieses zurück. + + + Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück. + + + Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. + + + Scherkoeffizient für die Kursivschrift der Anzeige. + + + Legt die Breite der LED-Segmente fest oder gibt diese zurück. + ..\Resources\SevSegMultiDigit.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -124,4 +163,13 @@ ..\Resources\SevSegSingleDigit.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Gibt an, ob die Doppelpunkt-LEDs angezeigt werden. + + + Gibt an, ob die Dezimalpunkt-LED angezeigt wird. + + + Der auf dem Control anzuzeigende Wert. + \ No newline at end of file diff --git a/SevenSegmentControl/SevSegMultiDigit.resx b/SevenSegmentControl/SevSegMultiDigit.resx new file mode 100644 index 0000000..56dda74 --- /dev/null +++ b/SevenSegmentControl/SevSegMultiDigit.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + en-US + + + True + + + False + + + SevSegMultiDigit + + + System.Windows.Forms.Control, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SevenSegmentControl/SevSegMultiDigit.vb b/SevenSegmentControl/SevSegMultiDigit.vb index 9292991..f8d7645 100644 --- a/SevenSegmentControl/SevSegMultiDigit.vb +++ b/SevenSegmentControl/SevSegMultiDigit.vb @@ -4,68 +4,83 @@ ' **************************************************************************************************************** ' + Imports System Imports System.Windows.Forms Imports System.Drawing Imports System.ComponentModel + - + Public Class SevSegMultiDigit + Inherits Control + #Region "Eigenschaftsvariablen" + ''' ''' Array von Segmentsteuerelementen, die derzeit untergeordnete Elemente dieses Steuerelements sind. ''' Private _digits As SevSegSingleDigit() = Nothing + ''' ''' Breite der Segmente eines Digits ''' Private _segmentWidth As Integer = 10 + ''' ''' Scherkoeffizient ''' Private _italicFactor As Single = -0.1F + ''' ''' Hintergrundfarbe ''' Private _backgroundColor As Color = Color.LightGray + ''' ''' Farbe für inaktives Segment ''' Private _inactiveColor As Color = Color.DarkGray + ''' ''' Vordergrundfarbe ''' Private _foreColor As Color = Color.DarkGreen + ''' ''' Dezimalpunkt anzeigen ''' Private _showDecimalPoint As Boolean = True + ''' ''' ''' Private _digitPadding As Padding + ''' ''' anzuzeigender Wert ''' Private _value As String = Nothing + #End Region + ''' ''' Wird ausgeführt wenn eine neue Instanz dieses Controls erstellt wird. ''' @@ -82,8 +97,10 @@ Public Class SevSegMultiDigit End Sub + #Region "interne Methoden" + ''' ''' Ändert die Anzahl der Elemente im LED-Array. ''' Dadurch werden die vorherigen Elemente zerstört und an ihrer Stelle neue erstellt, @@ -124,6 +141,7 @@ Public Class SevSegMultiDigit End Sub + ''' ''' Richtet die Elemente des Arrays so aus, ''' dass sie genau in die Breite des übergeordneten Steuerelements passen. @@ -141,6 +159,7 @@ Public Class SevSegMultiDigit End Sub + ''' ''' Aktualisiert die Eigenschaften jedes Elements mit den Eigenschaften ''' we have stored. @@ -161,19 +180,30 @@ Public Class SevSegMultiDigit End Sub + + ''' + ''' Wird ausgeführt wenn die Größe des Controls geändert wird + ''' + ''' + ''' Private Sub SevSegMultiDigit_Resize(sender As Object, e As EventArgs) + Me.ResizeSegments() + End Sub + #End Region + #Region "neue Eigenschaften" + ''' ''' Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. ''' - - + + Public Property InactiveColor As Color Get Return Me._inactiveColor @@ -184,11 +214,12 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Legt die Breite der LED-Segmente fest oder gibt diese zurück. ''' - - + + Public Property SegmentWidth As Integer Get Return Me._segmentWidth @@ -199,14 +230,15 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Scherkoeffizient für die Kursivschrift der Anzeige. ''' ''' ''' Standardwert ist -0.1 ''' - - + + Public Property ItalicFactor As Single Get Return Me._italicFactor @@ -217,11 +249,12 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Gibt an, ob die Dezimalpunkt-LED angezeigt wird. ''' - - + + Public Property ShowDecimalPoint As Boolean Get Return Me._showDecimalPoint @@ -232,11 +265,12 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Anzahl der Digits in diesem Control. ''' - - + + Public Property DigitCount As Integer Get Return Me._digits.Length @@ -246,14 +280,15 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Auffüllung, die für jedes Digit im Control gilt. ''' ''' ''' Passen Sie diese Zahlen an, um das perfekte Erscheinungsbild für das Control Ihrer Größe zu erhalten. ''' - - + + Public Property DigitPadding As Padding Get Return Me._digitPadding @@ -264,14 +299,15 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Der auf dem Control anzuzeigende Wert. ''' ''' ''' Kann Zahlen, bestimmte Buchstaben und Dezimalpunkte enthalten. ''' - - + + Public Property Value As String Get Return Me._value @@ -296,16 +332,19 @@ Public Class SevSegMultiDigit End Set End Property + #End Region + #Region "geänderte Eigenschaften" + ''' ''' Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. ''' ''' - - + + Public Overrides Property BackColor As Color Get Return Me._backgroundColor @@ -316,12 +355,13 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück. ''' ''' - - + + Public Overrides Property ForeColor As Color Get Return Me._foreColor @@ -332,10 +372,13 @@ Public Class SevSegMultiDigit End Set End Property + #End Region + #Region "Ausgeblendete Eigenschaften" + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -351,6 +394,7 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -366,6 +410,7 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -381,6 +426,7 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -396,6 +442,7 @@ Public Class SevSegMultiDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -411,14 +458,24 @@ Public Class SevSegMultiDigit End Set End Property + #End Region + #Region "geänderte Methoden" Protected Overrides Sub OnPaintBackground(e As PaintEventArgs) e.Graphics.Clear(Me._backgroundColor) End Sub + Private Sub InitializeComponent() + Me.SuspendLayout() + Me.ResumeLayout(False) + + End Sub + + #End Region + End Class diff --git a/SevenSegmentControl/SevSegSingleDigit.resx b/SevenSegmentControl/SevSegSingleDigit.resx new file mode 100644 index 0000000..a870fb7 --- /dev/null +++ b/SevenSegmentControl/SevSegSingleDigit.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + en-US + + + True + + + False + + + SevSegSingleDigit + + + System.Windows.Forms.Control, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SevenSegmentControl/SevSegSingleDigit.vb b/SevenSegmentControl/SevSegSingleDigit.vb index a42af16..63fca3c 100644 --- a/SevenSegmentControl/SevSegSingleDigit.vb +++ b/SevenSegmentControl/SevSegSingleDigit.vb @@ -4,94 +4,114 @@ ' **************************************************************************************************************** ' + Imports System Imports System.Windows.Forms Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.ComponentModel + - + Public Class SevSegSingleDigit + Inherits Control + #Region "Eigenschaftsvariablen" + ''' ''' Punkte der Segmente ''' Private ReadOnly _segmentPoints As Point()() + ''' ''' Digithöhe ''' Private ReadOnly _digitHeight As Integer = 80 + ''' ''' Digitbreite ''' Private ReadOnly _digitWidth As Integer = 48 + ''' ''' Breite der Segmente eines Digits ''' Private _segmentWidth As Integer = 10 + ''' ''' Scherkoeffizient ''' Private _italicFactor As Single = -0.1F + ''' ''' Hintergrundfarbe ''' Private _backgroundColor As Color = Color.LightGray + ''' ''' Farbe für inaktives Segment ''' Private _inactiveColor As Color = Color.DarkGray + ''' ''' Vordergrundfarbe ''' Private _foreColor As Color = Color.DarkGreen + ''' ''' Wert für die ziffer ''' Private _digitValue As String = Nothing + ''' ''' Dezimalpunkt anzeigen ''' Private _showDecimalPoint As Boolean = True + ''' ''' Dezimalpunkt aktiv ''' Private _decimalPointActive As Boolean = False + ''' ''' Doppelpunkt anzeigen ''' Private _showColon As Boolean = False + ''' ''' Doppelpunkt aktiv ''' Private _colonActive As Boolean = False + ''' ''' Benutzerdefiniertes Bitmuster ''' Private _customBitPattern As Integer = 0 + #End Region + ''' ''' Wird ausgeführt wenn eine neue Instanz dieses Controls erstellt wird. ''' @@ -116,13 +136,15 @@ Public Class SevSegSingleDigit End Sub + #Region "neue Eigenschaften" + ''' ''' Legt die Farbe inaktiver Segmente fest oder gibt diese zurück. ''' - - + + Public Property InactiveColor As Color Get Return Me._inactiveColor @@ -133,11 +155,12 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Legt die Breite der LED-Segmente fest oder gibt diese zurück. ''' - - + + Public Property SegmentWidth As Integer Get Return Me._segmentWidth @@ -153,14 +176,15 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Scherkoeffizient für die Kursivschrift der Anzeige. ''' ''' ''' Standarwert ist -0,1. ''' - - + + Public Property ItalicFactor As Single Get Return Me._italicFactor @@ -171,14 +195,15 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Legt das anzuzeigende Zeichen fest oder gibt dieses zurück. ''' ''' ''' Unterstützte Zeichen sind Ziffern und die meisten Buchstaben. ''' - - + + Public Property DigitValue As String Get Return Me._digitValue @@ -304,14 +329,15 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Legt ein benutzerdefiniertes Bitmuster fest, ''' das in den sieben Segmenten angezeigt werden soll. ''' Dies ist ein ganzzahliger Wert, ''' bei dem die Bits 0 bis 6 den jeweiligen LED-Segmenten entsprechen. ''' - - + + Public Property CustomBitPattern As Integer Get Return Me._customBitPattern @@ -322,11 +348,12 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Gibt an, ob die Dezimalpunkt-LED angezeigt wird. ''' - - + + Public Property ShowDecimalPoint As Boolean Get Return Me._showDecimalPoint @@ -337,11 +364,12 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Gibt an, ob die Dezimalpunkt-LED aktiv ist. ''' - - + + Public Property DecimalPointActive As Boolean Get Return Me._decimalPointActive @@ -352,11 +380,12 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Gibt an, ob die Doppelpunkt-LEDs angezeigt werden. ''' - - + + Public Property ShowColon As Boolean Get Return Me._showColon @@ -367,11 +396,12 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Gibt an, ob die Doppelpunkt-LEDs aktiv sind. ''' - - + + Public Property ColonActive As Boolean Get Return Me._colonActive @@ -382,16 +412,19 @@ Public Class SevSegSingleDigit End Set End Property + #End Region + #Region "geänderte Eigenschaften" + ''' ''' Legt die Hintergrundfarbe des Controls fest oder gibt diese zurück. ''' ''' - - + + Public Overrides Property BackColor As Color Get Return Me._backgroundColor @@ -402,12 +435,13 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Legt die Vordergrundfarbe der Segmente des Controls fest oder gibt diese zurück. ''' ''' - - + + Public Overrides Property ForeColor As Color Get Return Me._foreColor @@ -418,10 +452,13 @@ Public Class SevSegSingleDigit End Set End Property + #End Region + #Region "Ausgeblendete Eigenschaften" + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -437,6 +474,7 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -452,6 +490,7 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -467,6 +506,7 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -482,6 +522,7 @@ Public Class SevSegSingleDigit End Set End Property + ''' ''' Ausgeblendet da nicht relevant. ''' @@ -497,10 +538,13 @@ Public Class SevSegSingleDigit End Set End Property + #End Region + #Region "interne Ereignisbehandlung" + ''' ''' Tritt ein, wenn das Steuerelement neu gezeichnet wird. ''' @@ -567,6 +611,7 @@ Public Class SevSegSingleDigit End Sub + ''' ''' Zeichnet die Segmente basierend darauf, ob das entsprechende Bit hoch ist ''' @@ -622,19 +667,25 @@ Public Class SevSegSingleDigit End Sub + ''' ''' Tritt beim Ändern der Größe des Steuerelements ein. ''' ''' ''' Private Sub SevSegSingleDigit_Resize(sender As Object, e As EventArgs) Handles Me.Resize + Me.Invalidate() + End Sub + #End Region + #Region "geänderte Methoden" + ''' ''' Löst das PaddingChanged-Ereignis aus. ''' @@ -644,6 +695,7 @@ Public Class SevSegSingleDigit Me.Invalidate() End Sub + ''' ''' Zeichnet den Hintergrund des Steuerelements. ''' @@ -653,6 +705,7 @@ Public Class SevSegSingleDigit e.Graphics.Clear(Me._backgroundColor) End Sub + ''' ''' Gibt nicht verwaltete Ressourcen frei und führt andere Bereinigungsvorgänge durch, ''' bevor die Component durch die Garbage Collection wieder zugänglich gemacht wird. @@ -661,7 +714,15 @@ Public Class SevSegSingleDigit MyBase.Finalize() End Sub + Private Sub InitializeComponent() + Me.SuspendLayout() + Me.ResumeLayout(False) + + End Sub + + #End Region + End Class diff --git a/SevenSegmentControl/SevenSegmentControl.vbproj b/SevenSegmentControl/SevenSegmentControl.vbproj index dd7bfc8..244957d 100644 --- a/SevenSegmentControl/SevenSegmentControl.vbproj +++ b/SevenSegmentControl/SevenSegmentControl.vbproj @@ -79,10 +79,12 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb - @@ -111,8 +113,15 @@ + + + SevSegMultiDigit.vb + + + SevSegSingleDigit.vb + diff --git a/ShapeControl/My Project/AssemblyInfo.vb b/ShapeControl/My Project/AssemblyInfo.vb index b547b23..bfe5f64 100644 --- a/ShapeControl/My Project/AssemblyInfo.vb +++ b/ShapeControl/My Project/AssemblyInfo.vb @@ -1,4 +1,5 @@ -Imports System.Reflection +Imports System.Resources +Imports System.Reflection Imports System.Runtime.CompilerServices Imports System.Runtime.InteropServices Imports Microsoft.VisualBasic @@ -30,5 +31,6 @@ Imports Microsoft.VisualBasic ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - - + + + diff --git a/ShapeControl/My Project/Resources.Designer.vb b/ShapeControl/My Project/Resources.Designer.vb index 05befb0..8e8e753 100644 --- a/ShapeControl/My Project/Resources.Designer.vb +++ b/ShapeControl/My Project/Resources.Designer.vb @@ -60,6 +60,51 @@ Namespace My.Resources End Set End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Steuerelement zum Darstellen einer Linie, eines Rechtecks oder einer Ellipse. ähnelt. + ''' + Friend ReadOnly Property ClassDescription() As String + Get + Return ResourceManager.GetString("ClassDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt fest ob eine diagonale Linie von links oben nach rechts unten oder umgekehrt verläuft oder gibt dieses zurück. ähnelt. + ''' + Friend ReadOnly Property DiagonalLineModusDescription() As String + Get + Return ResourceManager.GetString("DiagonalLineModusDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Füllfarbe für die Form fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property FillColorDescription() As String + Get + Return ResourceManager.GetString("FillColorDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Farbe der Linie oder Rahmenlinie fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property LineColorDescription() As String + Get + Return ResourceManager.GetString("LineColorDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die Breite der Linie oder Rahmenlinie fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property LineWidthDescription() As String + Get + Return ResourceManager.GetString("LineWidthDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -69,5 +114,14 @@ Namespace My.Resources Return CType(obj,System.Drawing.Bitmap) End Get End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Legt die anzuzeigende Form fest oder gibt diese zurück. ähnelt. + ''' + Friend ReadOnly Property ShapeModusDescription() As String + Get + Return ResourceManager.GetString("ShapeModusDescription", resourceCulture) + End Get + End Property End Module End Namespace diff --git a/ShapeControl/My Project/Resources.en-US.resx b/ShapeControl/My Project/Resources.en-US.resx new file mode 100644 index 0000000..ead1f4f --- /dev/null +++ b/ShapeControl/My Project/Resources.en-US.resx @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Control element for displaying a line, a rectangle or a ellipse. + + + Specifies whether a diagonal line runs from the top right or vice versa from the top right. + + + Detects the fill color for the shape or returns it. + + + Detects the color of the line or framework line or returns it. + + + Specifies the width of the line or framework line or return it. + + + Detects the form to be displayed or returns it. + + \ No newline at end of file diff --git a/ShapeControl/My Project/Resources.resx b/ShapeControl/My Project/Resources.resx index bfe2a7b..a10fea8 100644 --- a/ShapeControl/My Project/Resources.resx +++ b/ShapeControl/My Project/Resources.resx @@ -117,8 +117,26 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Steuerelement zum Darstellen einer Linie, eines Rechtecks oder einer Ellipse. + + + Legt fest ob eine diagonale Linie von links oben nach rechts unten oder umgekehrt verläuft oder gibt dieses zurück. + + + Legt die Füllfarbe für die Form fest oder gibt diese zurück. + + + Legt die Farbe der Linie oder Rahmenlinie fest oder gibt diese zurück. + + + Legt die Breite der Linie oder Rahmenlinie fest oder gibt diese zurück. + ..\Resources\Shape.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Legt die anzuzeigende Form fest oder gibt diese zurück. + \ No newline at end of file diff --git a/ShapeControl/Shape.resx b/ShapeControl/Shape.resx new file mode 100644 index 0000000..b197036 --- /dev/null +++ b/ShapeControl/Shape.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + en-US + + + True + + + False + + + Shape + + + System.Windows.Forms.Control, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ShapeControl/Shape.vb b/ShapeControl/Shape.vb index 6200cbf..0cc8b15 100644 --- a/ShapeControl/Shape.vb +++ b/ShapeControl/Shape.vb @@ -9,12 +9,17 @@ Imports System.Drawing Imports System.Windows.Forms -''' Steuerelement zum Darstellen einer Linie, eines Rechtecks oder einer Ellipse. +''' +''' Steuerelement zum Darstellen einer Linie, eines Rechtecks oder einer Ellipse. +''' - + -Public Class Shape : Inherits Control +Public Class Shape + + + Inherits Control #Region "Definition der Variablen" @@ -54,83 +59,104 @@ Public Class Shape : Inherits Control #Region "neue Eigenschaften" - ''' Legt die anzuzeigende Form fest oder gibt diese zurück. + + ''' + ''' Legt die anzuzeigende Form fest oder gibt diese zurück. + ''' - + Public Property ShapeModus() As ShapeModes Get - Return _ShapeModus + Return Me._ShapeModus End Get Set(value As ShapeModes) - _ShapeModus = value + Me._ShapeModus = value Me.RecreateHandle() End Set End Property - ''' Legt die Breite der Linie oder Rahmenlinie fest oder gibt diese zurück. + + ''' + ''' Legt die Breite der Linie oder Rahmenlinie fest oder gibt diese zurück. + ''' - + Public Property LineWidth() As Single Get - Return _LineWidth + Return Me._LineWidth End Get Set(value As Single) - _LineWidth = value + Me._LineWidth = value Me.RecreateHandle() End Set End Property - ''' Legt die Farbe der Linie oder Rahmenlinie fest oder gibt diese zurück. + + ''' + ''' Legt die Farbe der Linie oder Rahmenlinie fest oder gibt diese zurück. + ''' - + Public Property LineColor() As Color Get - Return _LineColor + Return Me._LineColor End Get Set(value As Color) - _LineColor = value + Me._LineColor = value Me.RecreateHandle() End Set End Property - ''' Legt die Füllfarbe für die Form fest oder gibt diese zurück. + + ''' + ''' Legt die Füllfarbe für die Form fest oder gibt diese zurück. + ''' - + Public Property FillColor() As Color Get - Return _FillColor + Return Me._FillColor End Get Set(value As Color) - _FillColor = value + Me._FillColor = value Me.RecreateHandle() End Set End Property - ''' Legt fest ob eine diagonale Linie von links oben nach rechts unten oder umgekehrt verläuft oder gibt dieses zurück. + + ''' + ''' Legt fest ob eine diagonale Linie von links oben nach rechts unten oder + ''' umgekehrt verläuft oder gibt dieses zurück. + ''' - + Public Property DiagonalLineModus() As DiagonalLineModes Get - Return _DiagonalLineModus + Return Me._DiagonalLineModus End Get Set(value As DiagonalLineModes) - _DiagonalLineModus = value + Me._DiagonalLineModus = value Me.RecreateHandle() End Set End Property + #End Region #Region "überschriebene Eigenschften" - ''' Legt spezielle Parameter für das ShapeControl fest - ''' https://stackoverflow.com/questions/511320/transparent-control-backgrounds-on-a-vb-net-gradient-filled-form + ''' + ''' Legt spezielle Parameter für das ShapeControl fest + ''' + ''' + ''' https://stackoverflow.com/questions/511320/transparent-control-backgrounds-on-a-vb-net-gradient-filled-form + ''' Protected Overrides ReadOnly Property CreateParams() As CreateParams Get Dim cp As CreateParams = MyBase.CreateParams @@ -146,7 +172,10 @@ Public Class Shape : Inherits Control #Region "ausgeblendete Eigenschaften" - ''' Hintergrundfarbe (nicht relevant für dieses Control) + + ''' + ''' Hintergrundfarbe (nicht relevant für dieses Control) + ''' Public Overrides Property BackColor As Color @@ -158,7 +187,10 @@ Public Class Shape : Inherits Control End Set End Property - ''' Hintergrundbild (nicht relevant für dieses Control) + + ''' + ''' Hintergrundbild (nicht relevant für dieses Control) + ''' Public Overrides Property BackgroundImage As Image @@ -170,7 +202,10 @@ Public Class Shape : Inherits Control End Set End Property - ''' Leout Hintergrundbild (nicht relevant für dieses Control) + + ''' + ''' Layout Hintergrundbild (nicht relevant für dieses Control) + ''' Public Overrides Property BackgroundImageLayout As ImageLayout @@ -182,7 +217,10 @@ Public Class Shape : Inherits Control End Set End Property - ''' Schriftart (nicht relevant für dieses Control) + + ''' + ''' Schriftart (nicht relevant für dieses Control) + ''' Public Overrides Property Font As Font @@ -194,7 +232,10 @@ Public Class Shape : Inherits Control End Set End Property - ''' Vordergrundfarbe (nicht relevant für dieses Control) + + ''' + ''' Vordergrundfarbe (nicht relevant für dieses Control) + ''' Public Overrides Property ForeColor As Color @@ -206,7 +247,10 @@ Public Class Shape : Inherits Control End Set End Property - ''' Rechts - Links Schreibweise (nicht relevant für dieses Control) + + ''' + ''' Rechts - Links Schreibweise (nicht relevant für dieses Control) + ''' Public Overrides Property RightToLeft As RightToLeft @@ -218,7 +262,10 @@ Public Class Shape : Inherits Control End Set End Property - ''' Text (nicht relevant für dieses Control) + + ''' + ''' Text (nicht relevant für dieses Control) + ''' Public Overrides Property Text As String @@ -230,10 +277,13 @@ Public Class Shape : Inherits Control End Set End Property + #End Region - ''' zeichnet das ShapeControl neu + ''' + ''' zeichnet das ShapeControl neu + ''' Protected Overrides Sub OnPaint(e As PaintEventArgs) MyBase.OnPaint(e) @@ -241,11 +291,11 @@ Public Class Shape : Inherits Control Dim g As Graphics = Me.CreateGraphics 'Benutzerdefinierten Zeichnungscode hier einfügen - Select Case _ShapeModus + Select Case Me._ShapeModus Case ShapeModes.HorizontalLine 'horizontale Linie zeichnen (mittig im Rahmen des Controls) - g.DrawLine(New Pen(_LineColor, _LineWidth), + g.DrawLine(New Pen(Me._LineColor, Me._LineWidth), 0, CInt(Me.Height / 2), Me.Width, @@ -253,7 +303,7 @@ Public Class Shape : Inherits Control Case ShapeModes.VerticalLine 'vertikale Linie zeichnen (mittig im Rahmen des Controls) - g.DrawLine(New Pen(_LineColor, _LineWidth), + g.DrawLine(New Pen(Me._LineColor, Me._LineWidth), CInt(Me.Width / 2), 0, CInt(Me.Width / 2), @@ -261,11 +311,11 @@ Public Class Shape : Inherits Control Case ShapeModes.DiagonalLine 'diagonale Linie zeichnen - Select Case _DiagonalLineModus + Select Case Me._DiagonalLineModus Case DiagonalLineModes.BottomLeftToTopRight 'von links unten nach rechts oben - g.DrawLine(New Pen(_LineColor, _LineWidth), + g.DrawLine(New Pen(Me._LineColor, Me._LineWidth), 0, Me.Height, Me.Width, @@ -273,7 +323,7 @@ Public Class Shape : Inherits Control Case DiagonalLineModes.TopLeftToBottomRight 'von links oben nach rechts unten - g.DrawLine(New Pen(_LineColor, _LineWidth), + g.DrawLine(New Pen(Me._LineColor, Me._LineWidth), 0, 0, Me.Width, @@ -284,64 +334,66 @@ Public Class Shape : Inherits Control Case ShapeModes.Rectangle 'einfaches Rechteck zeichnen g.DrawRectangle( - New Pen(_LineColor, _LineWidth), - _LineWidth / 2, - _LineWidth / 2, - Me.Width - _LineWidth, - Me.Height - _LineWidth) + New Pen(Me._LineColor, Me._LineWidth), + Me._LineWidth / 2, + Me._LineWidth / 2, + Me.Width - Me._LineWidth, + Me.Height - Me._LineWidth) Case ShapeModes.FilledRectangle 'einfaches Rechteck zeichnen g.DrawRectangle( - New Pen(_LineColor, _LineWidth), - _LineWidth / 2, - _LineWidth / 2, - Me.Width - _LineWidth, - Me.Height - _LineWidth) + New Pen(Me._LineColor, Me._LineWidth), + Me._LineWidth / 2, + Me._LineWidth / 2, + Me.Width - Me._LineWidth, + Me.Height - Me._LineWidth) 'Rechteck ausfüllen - g.FillRectangle(New SolidBrush(_FillColor), - _LineWidth, - _LineWidth, - Me.Width - (2 * _LineWidth), - Me.Height - (2 * _LineWidth)) + g.FillRectangle(New SolidBrush(Me._FillColor), + Me._LineWidth, + Me._LineWidth, + Me.Width - (2 * Me._LineWidth), + Me.Height - (2 * Me._LineWidth)) Case ShapeModes.Elypse 'einfache Ellipse zeichnen g.DrawEllipse( - New Pen(_LineColor, _LineWidth), - _LineWidth / 2, - _LineWidth / 2, - Me.Width - _LineWidth, - Me.Height - _LineWidth) + New Pen(Me._LineColor, Me._LineWidth), + Me._LineWidth / 2, + Me._LineWidth / 2, + Me.Width - Me._LineWidth, + Me.Height - Me._LineWidth) Case ShapeModes.FilledElypse 'einfache Ellipe zeichnen g.DrawEllipse( - New Pen(_LineColor, _LineWidth), - _LineWidth / 2, - _LineWidth / 2, - Me.Width - _LineWidth, - Me.Height - _LineWidth) + New Pen(Me._LineColor, Me._LineWidth), + Me._LineWidth / 2, + Me._LineWidth / 2, + Me.Width - Me._LineWidth, + Me.Height - Me._LineWidth) 'Ellipse ausfüllen - g.FillEllipse(New SolidBrush(_FillColor), - _LineWidth, - _LineWidth, - Me.Width - (2 * _LineWidth), - Me.Height - (2 * _LineWidth)) + g.FillEllipse(New SolidBrush(Me._FillColor), + Me._LineWidth, + Me._LineWidth, + Me.Width - (2 * Me._LineWidth), + Me.Height - (2 * Me._LineWidth)) End Select End Sub - ''' Das Steuerelement überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + ''' + ''' Das Steuerelement überschreibt den Löschvorgang zum Bereinigen der Komponentenliste. + ''' Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try - If disposing AndAlso components IsNot Nothing Then - components.Dispose() + If disposing AndAlso Me.components IsNot Nothing Then + Me.components.Dispose() End If Finally MyBase.Dispose(disposing) @@ -349,7 +401,9 @@ Public Class Shape : Inherits Control End Sub - ''' Initialisiert die Standardwerte für das ShapeControl + ''' + ''' Initialisiert die Standardwerte für das ShapeControl + ''' Private Sub InitializeVariables() 'Horizontale Linie @@ -370,7 +424,9 @@ Public Class Shape : Inherits Control End Sub - ''' Initialisiert die Styles für das ShapeControl + ''' + ''' Initialisiert die Styles für das ShapeControl + ''' Private Sub InitializeStyles() Me.SetStyle(ControlStyles.Opaque, True) @@ -386,7 +442,9 @@ Public Class Shape : Inherits Control ''' Private Sub InitializeComponent() - components = New System.ComponentModel.Container() + Me.SuspendLayout() + Me.ResumeLayout(False) + End Sub diff --git a/ShapeControl/ShapeControl.vbproj b/ShapeControl/ShapeControl.vbproj index eaa6cf5..3aca63c 100644 --- a/ShapeControl/ShapeControl.vbproj +++ b/ShapeControl/ShapeControl.vbproj @@ -79,6 +79,9 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb @@ -100,12 +103,16 @@ + My.Resources VbMyResourcesResXFileCodeGenerator Resources.Designer.vb + + Shape.vb + diff --git a/TestApp/App.config b/TestApp/App.config index ffaf540..3041057 100644 --- a/TestApp/App.config +++ b/TestApp/App.config @@ -1,6 +1,18 @@  + + +
+ + + + + + de-DE + + + \ No newline at end of file diff --git a/TestApp/ApplicationEvents.vb b/TestApp/ApplicationEvents.vb index 5724a4d..73a4cea 100644 --- a/TestApp/ApplicationEvents.vb +++ b/TestApp/ApplicationEvents.vb @@ -1,28 +1,29 @@ ' **************************************************************************************************************** ' ApplicationEvents.vb ' © 2024 by Andreas Sauer +' +' Für MyApplication sind folgende Ereignisse verfügbar: +' Startup, Shutdown, UnhandledException, StartupNextInstance, NetworkAvailabilityChanged +' ' **************************************************************************************************************** ' + Imports Microsoft.VisualBasic.ApplicationServices Imports Microsoft.VisualBasic.Devices Namespace My - - ' Für MyApplication sind folgende Ereignisse verfügbar: - ' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst. - ' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung mit einem Fehler beendet wird. - ' UnhandledException: Wird bei einem Ausnahmefehler ausgelöst. - ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist. - ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst. - - Partial Friend Class MyApplication + ''' + ''' Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst. + ''' + ''' + ''' Private Sub MyApplication_NetworkAvailabilityChanged( sender As Object, e As NetworkAvailableEventArgs) Handles _ @@ -31,6 +32,14 @@ Namespace My End Sub + ''' + ''' Wird nach dem Schließen aller Anwendungsformulare ausgelöst. + ''' + ''' + ''' + ''' + ''' Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung mit einem Fehler beendet wird. + ''' Private Sub MyApplication_Shutdown( sender As Object, e As EventArgs) Handles _ @@ -39,14 +48,29 @@ Namespace My End Sub + ''' + ''' Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst. + ''' + ''' + ''' Private Sub MyApplication_Startup( sender As Object, e As StartupEventArgs) Handles _ Me.Startup + 'Sprache festlegen wenn noch nicht geschehen + If String.IsNullOrWhiteSpace(My.Settings.LangCode) Then + My.Settings.LangCode = $"de-DE" + End If + End Sub + ''' + ''' Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist. + ''' + ''' + ''' Private Sub MyApplication_StartupNextInstance( sender As Object, e As StartupNextInstanceEventArgs) Handles _ @@ -55,6 +79,11 @@ Namespace My End Sub + ''' + ''' Wird bei einem Ausnahmefehler ausgelöst. + ''' + ''' + ''' Private Sub MyApplication_UnhandledException( sender As Object, e As UnhandledExceptionEventArgs) Handles _ @@ -65,5 +94,4 @@ Namespace My End Class - End Namespace diff --git a/TestApp/FormAniGifControl.Designer.vb b/TestApp/FormAniGifControl.Designer.vb index f94d70c..0cc6721 100644 --- a/TestApp/FormAniGifControl.Designer.vb +++ b/TestApp/FormAniGifControl.Designer.vb @@ -46,117 +46,79 @@ Partial Class FormAniGifControl Me.AniGif1.FramesPerSecond = New Decimal(New Integer() {10, 0, 0, 0}) Me.AniGif1.Gif = CType(resources.GetObject("AniGif1.Gif"), System.Drawing.Bitmap) Me.AniGif1.GifSizeMode = SchlumpfSoft.Controls.AniGifControl.SizeMode.Normal - Me.AniGif1.Location = New System.Drawing.Point(24, 30) + resources.ApplyResources(Me.AniGif1, "AniGif1") Me.AniGif1.Name = "AniGif1" - Me.AniGif1.Size = New System.Drawing.Size(200, 184) - Me.AniGif1.TabIndex = 24 Me.AniGif1.ZoomFactor = New Decimal(New Integer() {50, 0, 0, 0}) ' 'Label_ZoomFactor ' - Me.Label_ZoomFactor.AutoSize = True - Me.Label_ZoomFactor.Location = New System.Drawing.Point(230, 163) + resources.ApplyResources(Me.Label_ZoomFactor, "Label_ZoomFactor") Me.Label_ZoomFactor.Name = "Label_ZoomFactor" - Me.Label_ZoomFactor.Size = New System.Drawing.Size(64, 13) - Me.Label_ZoomFactor.TabIndex = 23 - Me.Label_ZoomFactor.Text = "Zoomfaktor:" ' 'Label_FramesPerSecound ' - Me.Label_FramesPerSecound.AutoSize = True - Me.Label_FramesPerSecound.Location = New System.Drawing.Point(230, 126) + resources.ApplyResources(Me.Label_FramesPerSecound, "Label_FramesPerSecound") Me.Label_FramesPerSecound.Name = "Label_FramesPerSecound" - Me.Label_FramesPerSecound.Size = New System.Drawing.Size(124, 13) - Me.Label_FramesPerSecound.TabIndex = 22 - Me.Label_FramesPerSecound.Text = "Anzeigegeschwindigkeit:" ' 'CheckBox_CustomDisplaySpeed ' - Me.CheckBox_CustomDisplaySpeed.CheckAlign = System.Drawing.ContentAlignment.MiddleRight - Me.CheckBox_CustomDisplaySpeed.Location = New System.Drawing.Point(230, 93) + resources.ApplyResources(Me.CheckBox_CustomDisplaySpeed, "CheckBox_CustomDisplaySpeed") Me.CheckBox_CustomDisplaySpeed.Name = "CheckBox_CustomDisplaySpeed" - Me.CheckBox_CustomDisplaySpeed.Size = New System.Drawing.Size(240, 18) - Me.CheckBox_CustomDisplaySpeed.TabIndex = 21 - Me.CheckBox_CustomDisplaySpeed.Text = "Benutzerdefinierte Anzeigegeschwindigkeit:" Me.CheckBox_CustomDisplaySpeed.UseVisualStyleBackColor = True ' 'Label_Ansicht ' - Me.Label_Ansicht.AutoSize = True - Me.Label_Ansicht.Location = New System.Drawing.Point(230, 33) + resources.ApplyResources(Me.Label_Ansicht, "Label_Ansicht") Me.Label_Ansicht.Name = "Label_Ansicht" - Me.Label_Ansicht.Size = New System.Drawing.Size(79, 13) - Me.Label_Ansicht.TabIndex = 20 - Me.Label_Ansicht.Text = "Anzeigemodus:" ' 'Label_Ani ' - Me.Label_Ani.Location = New System.Drawing.Point(21, 227) + resources.ApplyResources(Me.Label_Ani, "Label_Ani") Me.Label_Ani.Name = "Label_Ani" - Me.Label_Ani.Size = New System.Drawing.Size(203, 15) - Me.Label_Ani.TabIndex = 19 - Me.Label_Ani.Text = "Standard" ' 'Button_Forward ' - Me.Button_Forward.Location = New System.Drawing.Point(132, 259) + resources.ApplyResources(Me.Button_Forward, "Button_Forward") Me.Button_Forward.Name = "Button_Forward" - Me.Button_Forward.Size = New System.Drawing.Size(92, 23) - Me.Button_Forward.TabIndex = 18 - Me.Button_Forward.Text = "vorwärts >" Me.Button_Forward.UseVisualStyleBackColor = True ' 'Button_Back ' - Me.Button_Back.Location = New System.Drawing.Point(24, 259) + resources.ApplyResources(Me.Button_Back, "Button_Back") Me.Button_Back.Name = "Button_Back" - Me.Button_Back.Size = New System.Drawing.Size(92, 23) - Me.Button_Back.TabIndex = 17 - Me.Button_Back.Text = "< zurück" Me.Button_Back.UseVisualStyleBackColor = True ' 'CheckBox_AutoPlay ' - Me.CheckBox_AutoPlay.CheckAlign = System.Drawing.ContentAlignment.MiddleRight - Me.CheckBox_AutoPlay.Location = New System.Drawing.Point(230, 62) + resources.ApplyResources(Me.CheckBox_AutoPlay, "CheckBox_AutoPlay") Me.CheckBox_AutoPlay.Name = "CheckBox_AutoPlay" - Me.CheckBox_AutoPlay.Size = New System.Drawing.Size(240, 25) - Me.CheckBox_AutoPlay.TabIndex = 16 - Me.CheckBox_AutoPlay.Text = "Autostart:" Me.CheckBox_AutoPlay.UseVisualStyleBackColor = True ' 'NumericUpDown_ZoomFactor ' - Me.NumericUpDown_ZoomFactor.Location = New System.Drawing.Point(420, 161) + resources.ApplyResources(Me.NumericUpDown_ZoomFactor, "NumericUpDown_ZoomFactor") Me.NumericUpDown_ZoomFactor.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) Me.NumericUpDown_ZoomFactor.Name = "NumericUpDown_ZoomFactor" - Me.NumericUpDown_ZoomFactor.Size = New System.Drawing.Size(50, 20) - Me.NumericUpDown_ZoomFactor.TabIndex = 15 Me.NumericUpDown_ZoomFactor.Value = New Decimal(New Integer() {50, 0, 0, 0}) ' 'NumericUpDown_FramesPerSecound ' - Me.NumericUpDown_FramesPerSecound.Location = New System.Drawing.Point(420, 126) + resources.ApplyResources(Me.NumericUpDown_FramesPerSecound, "NumericUpDown_FramesPerSecound") Me.NumericUpDown_FramesPerSecound.Maximum = New Decimal(New Integer() {50, 0, 0, 0}) Me.NumericUpDown_FramesPerSecound.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) Me.NumericUpDown_FramesPerSecound.Name = "NumericUpDown_FramesPerSecound" - Me.NumericUpDown_FramesPerSecound.Size = New System.Drawing.Size(50, 20) - Me.NumericUpDown_FramesPerSecound.TabIndex = 14 Me.NumericUpDown_FramesPerSecound.Value = New Decimal(New Integer() {10, 0, 0, 0}) ' 'ComboBox_Ansicht ' Me.ComboBox_Ansicht.FormattingEnabled = True - Me.ComboBox_Ansicht.Location = New System.Drawing.Point(349, 30) + resources.ApplyResources(Me.ComboBox_Ansicht, "ComboBox_Ansicht") Me.ComboBox_Ansicht.Name = "ComboBox_Ansicht" - Me.ComboBox_Ansicht.Size = New System.Drawing.Size(121, 21) - Me.ComboBox_Ansicht.TabIndex = 13 ' 'FormAniGifControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(492, 299) Me.Controls.Add(Me.AniGif1) Me.Controls.Add(Me.Label_ZoomFactor) Me.Controls.Add(Me.Label_FramesPerSecound) @@ -175,8 +137,6 @@ Partial Class FormAniGifControl Me.Name = "FormAniGifControl" Me.ShowIcon = False Me.ShowInTaskbar = False - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "AniGif - Control -Test" CType(Me.NumericUpDown_ZoomFactor, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.NumericUpDown_FramesPerSecound, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) diff --git a/TestApp/FormAniGifControl.en-US.resx b/TestApp/FormAniGifControl.en-US.resx new file mode 100644 index 0000000..85a534c --- /dev/null +++ b/TestApp/FormAniGifControl.en-US.resx @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Zoom factor: + + + Showing speed: + + + User -defined display speed: + + + Advanced mode: + + + standard + + + forward> + + + <back + + + Autostart: + + + Anigif - Control test + + \ No newline at end of file diff --git a/TestApp/FormAniGifControl.resx b/TestApp/FormAniGifControl.resx index 417745b..50b01be 100644 --- a/TestApp/FormAniGifControl.resx +++ b/TestApp/FormAniGifControl.resx @@ -147,4 +147,321 @@ AAA7 + + 24, 30 + + + 200, 184 + + + + 24 + + + AniGif1 + + + SchlumpfSoft.Controls.AniGifControl.AniGif, AniGifControl, Version=2.2024.19.7, Culture=neutral, PublicKeyToken=null + + + $this + + + 0 + + + True + + + 230, 163 + + + 64, 13 + + + 23 + + + Zoomfaktor: + + + Label_ZoomFactor + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + 230, 126 + + + 124, 13 + + + 22 + + + Anzeigegeschwindigkeit: + + + Label_FramesPerSecound + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + MiddleRight + + + 230, 93 + + + 240, 18 + + + 21 + + + Benutzerdefinierte Anzeigegeschwindigkeit: + + + CheckBox_CustomDisplaySpeed + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + True + + + 230, 33 + + + 79, 13 + + + 20 + + + Anzeigemodus: + + + Label_Ansicht + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + 21, 227 + + + 203, 15 + + + 19 + + + Standard + + + Label_Ani + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + 132, 259 + + + 92, 23 + + + 18 + + + vorwärts > + + + Button_Forward + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 24, 259 + + + 92, 23 + + + 17 + + + < zurück + + + Button_Back + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + MiddleRight + + + 230, 62 + + + 240, 25 + + + 16 + + + Autostart: + + + CheckBox_AutoPlay + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + 420, 161 + + + 50, 20 + + + 15 + + + NumericUpDown_ZoomFactor + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + 420, 126 + + + 50, 20 + + + 14 + + + NumericUpDown_FramesPerSecound + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + + + 349, 30 + + + 121, 21 + + + 13 + + + ComboBox_Ansicht + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + en-US + + + True + + + 6, 13 + + + 492, 299 + + + + CenterParent + + + AniGif - Control -Test + + + FormAniGifControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormAniGifControl.vb b/TestApp/FormAniGifControl.vb index 19ee720..a537822 100644 --- a/TestApp/FormAniGifControl.vb +++ b/TestApp/FormAniGifControl.vb @@ -6,16 +6,26 @@ +Imports System.Globalization +Imports System.Threading Imports SchlumpfSoft.Controls.AniGifControl Public Class FormAniGifControl Private _Ani As Integer = 0 - Private _ComboBox_Ansicht_Items() As String = {$"Normal", $"Zentriert", $"Zoom", $"Gefüllt"} + Private _ComboBox_Ansicht_Items() As String = { + My.Resources.AnimationComboBoxItem1, + My.Resources.AnimationComboBoxItem2, + My.Resources.AnimationComboBoxItem3, + My.Resources.AnimationComboBoxItem4} Public Sub New() + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + 'Dieser Aufruf ist für den Designer erforderlich. Me.InitializeComponent() @@ -49,19 +59,19 @@ Public Class FormAniGifControl Case 0 - Me.AniGif1.GifSizeMode = SchlumpfSoft.Controls.AniGifControl.SizeMode.Normal + Me.AniGif1.GifSizeMode = SizeMode.Normal Case 1 - Me.AniGif1.GifSizeMode = SchlumpfSoft.Controls.AniGifControl.SizeMode.CenterImage + Me.AniGif1.GifSizeMode = SizeMode.CenterImage Case 2 - Me.AniGif1.GifSizeMode = SchlumpfSoft.Controls.AniGifControl.SizeMode.Zoom + Me.AniGif1.GifSizeMode = SizeMode.Zoom Case 3 - Me.AniGif1.GifSizeMode = SchlumpfSoft.Controls.AniGifControl.SizeMode.Fill + Me.AniGif1.GifSizeMode = SizeMode.Fill End Select @@ -151,11 +161,11 @@ Public Class FormAniGifControl End Sub - Private Sub AniGif1_NoAnimation(sender As Object, e As NoAnimationEventArgs) Handles _ + Private Sub AniGif1_NoAnimation(sender As Object, e As EventArgs) Handles _ AniGif1.NoAnimation - Dim prompt As String = $"Das Bild kann nicht animiert werden." - Dim title As String = $"Keine Animation" + Dim prompt As String = My.Resources.NoAnimationMsg + Dim title As String = My.Resources.NoAnimationTitle Dim unused = MsgBox(prompt,, title) End Sub @@ -166,16 +176,30 @@ Public Class FormAniGifControl 'Animationsnummer anzeigen Select Case Me._Ani - Case Is <> 0 : Me.Label_Ani.Text = String.Format("Animation Nr.: {0}", Me._Ani.ToString) - Case Else : Me.Label_Ani.Text = $"Standardanimation" + Case Is <> 0 + + Me.Label_Ani.Text = String.Format( + My.Resources.AnimationNumberText, + Me._Ani.ToString) + + Case Else + + Me.Label_Ani.Text = My.Resources.AnimationStandardText End Select 'Animation schalten Select Case Me._Ani - Case Is <> 0 : Me.AniGif1.Gif = CType(My.Resources.ResourceManager.GetObject("Anim" & CStr(100 + Me._Ani - 1)), Bitmap) - Case Else : Me.AniGif1.Gif = Nothing + Case Is <> 0 + + Me.AniGif1.Gif = CType( + My.Resources.ResourceManager.GetObject( + "Anim" & CStr(100 + Me._Ani - 1)), Bitmap) + + Case Else + + Me.AniGif1.Gif = Nothing End Select diff --git a/TestApp/FormDriveWatcherControl.Designer.vb b/TestApp/FormDriveWatcherControl.Designer.vb index 2a064d7..839e265 100644 --- a/TestApp/FormDriveWatcherControl.Designer.vb +++ b/TestApp/FormDriveWatcherControl.Designer.vb @@ -23,6 +23,7 @@ Partial Class FormDriveWatcherControl _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormDriveWatcherControl)) Me.Label_Info = New System.Windows.Forms.Label() Me.DriveWatcher1 = New SchlumpfSoft.Controls.DriveWatcherControl.DriveWatcher(Me.components) Me.Label_result = New System.Windows.Forms.Label() @@ -31,28 +32,21 @@ Partial Class FormDriveWatcherControl 'Label_Info ' Me.Label_Info.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.Label_Info.Location = New System.Drawing.Point(12, 9) + resources.ApplyResources(Me.Label_Info, "Label_Info") Me.Label_Info.Name = "Label_Info" - Me.Label_Info.Size = New System.Drawing.Size(365, 37) - Me.Label_Info.TabIndex = 1 - Me.Label_Info.Text = "Lege eine CD ein, stecke einen USB-Stick oder ein externes Laufwerk an" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "oder füge" & - " ein virtuelles Laufwerk hinzu und beobachte die Reaktion." ' 'DriveWatcher1 ' ' 'Label_result ' - Me.Label_result.Location = New System.Drawing.Point(12, 59) + resources.ApplyResources(Me.Label_result, "Label_result") Me.Label_result.Name = "Label_result" - Me.Label_result.Size = New System.Drawing.Size(365, 133) - Me.Label_result.TabIndex = 2 ' 'FormDriveWatcherControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(387, 206) Me.Controls.Add(Me.Label_result) Me.Controls.Add(Me.Label_Info) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog @@ -61,8 +55,6 @@ Partial Class FormDriveWatcherControl Me.Name = "FormDriveWatcherControl" Me.ShowIcon = False Me.ShowInTaskbar = False - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "DriveWatcher - Control - Test" Me.ResumeLayout(False) End Sub diff --git a/TestApp/FormDriveWatcherControl.en-US.resx b/TestApp/FormDriveWatcherControl.en-US.resx new file mode 100644 index 0000000..aad1928 --- /dev/null +++ b/TestApp/FormDriveWatcherControl.en-US.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Insect a CD, put a USB stick or an external drive +Or add a virtual drive and watch the reaction. + + + Drivewatcher - Control - test + + \ No newline at end of file diff --git a/TestApp/FormDriveWatcherControl.resx b/TestApp/FormDriveWatcherControl.resx index 1c3fb15..1fd227f 100644 --- a/TestApp/FormDriveWatcherControl.resx +++ b/TestApp/FormDriveWatcherControl.resx @@ -117,7 +117,86 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 12, 9 + + + 365, 37 + + + + 1 + + + Lege eine CD ein, stecke einen USB-Stick oder ein externes Laufwerk an +oder füge ein virtuelles Laufwerk hinzu und beobachte die Reaktion. + + + Label_Info + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + 17, 17 + + 12, 59 + + + 365, 133 + + + 2 + + + Label_result + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + en-US + + + 6, 13 + + + 387, 206 + + + + CenterParent + + + DriveWatcher - Control - Test + + + DriveWatcher1 + + + SchlumpfSoft.Controls.DriveWatcherControl.DriveWatcher, DriveWatcherControl, Version=2.2024.19.7, Culture=neutral, PublicKeyToken=null + + + FormDriveWatcherControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormDriveWatcherControl.vb b/TestApp/FormDriveWatcherControl.vb index 858db5c..b4a7e05 100644 --- a/TestApp/FormDriveWatcherControl.vb +++ b/TestApp/FormDriveWatcherControl.vb @@ -5,24 +5,46 @@ ' +Imports System.Globalization +Imports System.Threading + Public Class FormDriveWatcherControl + + Public Sub New() + + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub DriveAdded( sender As Object, e As SchlumpfSoft.Controls.DriveWatcherControl.DriveAddedEventArgs) Handles _ DriveWatcher1.DriveAdded - Me.Label_result.Text = $"Das Laufwerk {e.DriveName} wurde hinzugefügt.{vbCrLf}" & - $"Der Datenträger hat die Bezeichnung {e.VolumeLabel} und ist vom Typ {e.DriveType}.{vbCrLf}" & - $"Das Format ist {e.DriveFormat} und der gesamte Speicherplatz beträgt {e.TotalSize} Bytes.{vbCrLf}" + Me.Label_result.Text = String.Format( + My.Resources.DriveWatcherMsgLine1, e.DriveName) + Me.Label_result.Text &= vbCrLf & String.Format( + My.Resources.DriveWatcherMsgLine2, e.VolumeLabel, e.DriveType) + Me.Label_result.Text &= vbCrLf & String.Format( + My.Resources.DriveWatcherMsgLine3, e.DriveFormat, e.TotalSize) If e.IsReady Then - Me.Label_result.Text &= $"Das Laufwerk ist bereit und der freie Speicherplatz beträgt {e.TotalFreeSpace} Bytes." + Me.Label_result.Text &= vbCrLf & String.Format( + My.Resources.DriveWatcherMsgLine4, e.TotalFreeSpace) Else - Me.Label_result.Text &= $"Das Laufwerk ist nicht bereit" + Me.Label_result.Text &= vbCrLf & String.Format(My.Resources.DriveWatcherMsgLine5) End If @@ -34,7 +56,7 @@ Public Class FormDriveWatcherControl e As SchlumpfSoft.Controls.DriveWatcherControl.DriveRemovedEventArgs) Handles _ DriveWatcher1.DriveRemoved - Me.Label_result.Text = $"Das Laufwerk {e.DriveName} wurde entfernt." + Me.Label_result.Text = String.Format(My.Resources.DriveWatcherMsgLine6, e.DriveName) End Sub diff --git a/TestApp/FormIniFileControl.Designer.vb b/TestApp/FormIniFileControl.Designer.vb index d335cc6..b669e1a 100644 --- a/TestApp/FormIniFileControl.Designer.vb +++ b/TestApp/FormIniFileControl.Designer.vb @@ -1,9 +1,9 @@ - _ + Partial Class FormIniFileControl Inherits System.Windows.Forms.Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then @@ -20,21 +20,22 @@ Partial Class FormIniFileControl 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - _ + Private Sub InitializeComponent() Dim MenuStrip_HauptMenu As System.Windows.Forms.MenuStrip Dim ToolStripMenuItem_Datei As System.Windows.Forms.ToolStripMenuItem + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormIniFileControl)) Dim ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator Dim ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator Me.ToolStripMenuItem_Oeffnen = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem_Speichern = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem_SpeichernUnter = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripMenuItem_Beenden = New System.Windows.Forms.ToolStripMenuItem() - Me.IniFileContentView = New SchlumpfSoft.Controls.IniFileControl.IniFileContentView() - Me.EntryValueEdit = New SchlumpfSoft.Controls.IniFileControl.IniFileEntryValueEdit() Me.EntrysListEdit = New SchlumpfSoft.Controls.IniFileControl.IniFileListEdit() - Me.SectionsListEdit = New SchlumpfSoft.Controls.IniFileControl.IniFileListEdit() Me.SectionsCommentEdit = New SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit() + Me.EntryValueEdit = New SchlumpfSoft.Controls.IniFileControl.IniFileEntryValueEdit() + Me.SectionsListEdit = New SchlumpfSoft.Controls.IniFileControl.IniFileListEdit() + Me.IniFileContentView = New SchlumpfSoft.Controls.IniFileControl.IniFileContentView() Me.FileCommentEdit = New SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit() Me.IniFile1 = New SchlumpfSoft.Controls.IniFileControl.IniFile() MenuStrip_HauptMenu = New System.Windows.Forms.MenuStrip() @@ -47,126 +48,100 @@ Partial Class FormIniFileControl 'MenuStrip_HauptMenu ' MenuStrip_HauptMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {ToolStripMenuItem_Datei}) - MenuStrip_HauptMenu.Location = New System.Drawing.Point(0, 0) + resources.ApplyResources(MenuStrip_HauptMenu, "MenuStrip_HauptMenu") MenuStrip_HauptMenu.Name = "MenuStrip_HauptMenu" - MenuStrip_HauptMenu.Size = New System.Drawing.Size(942, 24) - MenuStrip_HauptMenu.TabIndex = 13 ' 'ToolStripMenuItem_Datei ' ToolStripMenuItem_Datei.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem_Oeffnen, ToolStripSeparator1, Me.ToolStripMenuItem_Speichern, Me.ToolStripMenuItem_SpeichernUnter, ToolStripSeparator2, Me.ToolStripMenuItem_Beenden}) ToolStripMenuItem_Datei.Name = "ToolStripMenuItem_Datei" - ToolStripMenuItem_Datei.Size = New System.Drawing.Size(46, 20) - ToolStripMenuItem_Datei.Text = "Datei" + resources.ApplyResources(ToolStripMenuItem_Datei, "ToolStripMenuItem_Datei") ' 'ToolStripMenuItem_Oeffnen ' Me.ToolStripMenuItem_Oeffnen.Name = "ToolStripMenuItem_Oeffnen" - Me.ToolStripMenuItem_Oeffnen.Size = New System.Drawing.Size(169, 22) - Me.ToolStripMenuItem_Oeffnen.Text = "Öffnen ..." + resources.ApplyResources(Me.ToolStripMenuItem_Oeffnen, "ToolStripMenuItem_Oeffnen") ' 'ToolStripSeparator1 ' ToolStripSeparator1.Name = "ToolStripSeparator1" - ToolStripSeparator1.Size = New System.Drawing.Size(166, 6) + resources.ApplyResources(ToolStripSeparator1, "ToolStripSeparator1") ' 'ToolStripMenuItem_Speichern ' Me.ToolStripMenuItem_Speichern.Name = "ToolStripMenuItem_Speichern" - Me.ToolStripMenuItem_Speichern.Size = New System.Drawing.Size(169, 22) - Me.ToolStripMenuItem_Speichern.Text = "Speichern" + resources.ApplyResources(Me.ToolStripMenuItem_Speichern, "ToolStripMenuItem_Speichern") ' 'ToolStripMenuItem_SpeichernUnter ' Me.ToolStripMenuItem_SpeichernUnter.Name = "ToolStripMenuItem_SpeichernUnter" - Me.ToolStripMenuItem_SpeichernUnter.Size = New System.Drawing.Size(169, 22) - Me.ToolStripMenuItem_SpeichernUnter.Text = "Speichern unter ..." + resources.ApplyResources(Me.ToolStripMenuItem_SpeichernUnter, "ToolStripMenuItem_SpeichernUnter") ' 'ToolStripSeparator2 ' ToolStripSeparator2.Name = "ToolStripSeparator2" - ToolStripSeparator2.Size = New System.Drawing.Size(166, 6) + resources.ApplyResources(ToolStripSeparator2, "ToolStripSeparator2") ' 'ToolStripMenuItem_Beenden ' Me.ToolStripMenuItem_Beenden.Name = "ToolStripMenuItem_Beenden" - Me.ToolStripMenuItem_Beenden.Size = New System.Drawing.Size(169, 22) - Me.ToolStripMenuItem_Beenden.Text = "Beenden" + resources.ApplyResources(Me.ToolStripMenuItem_Beenden, "ToolStripMenuItem_Beenden") ' - 'IniFileContentView + 'EntrysListEdit ' - Me.IniFileContentView.Lines = Nothing - Me.IniFileContentView.Location = New System.Drawing.Point(664, 38) - Me.IniFileContentView.Name = "IniFileContentView" - Me.IniFileContentView.Size = New System.Drawing.Size(264, 297) - Me.IniFileContentView.TabIndex = 19 - Me.IniFileContentView.TabStop = False - Me.IniFileContentView.Text = "Dateiinhalt" + resources.ApplyResources(Me.EntrysListEdit, "EntrysListEdit") + Me.EntrysListEdit.Name = "EntrysListEdit" + Me.EntrysListEdit.TitelText = "" + ' + 'SectionsCommentEdit + ' + Me.SectionsCommentEdit.Comment = Nothing + resources.ApplyResources(Me.SectionsCommentEdit, "SectionsCommentEdit") + Me.SectionsCommentEdit.Name = "SectionsCommentEdit" + Me.SectionsCommentEdit.TitelText = "" ' 'EntryValueEdit ' - Me.EntryValueEdit.Location = New System.Drawing.Point(664, 341) + resources.ApplyResources(Me.EntryValueEdit, "EntryValueEdit") Me.EntryValueEdit.Name = "EntryValueEdit" - Me.EntryValueEdit.Size = New System.Drawing.Size(264, 78) - Me.EntryValueEdit.TabIndex = 18 - Me.EntryValueEdit.TabStop = False - Me.EntryValueEdit.Text = "Eintragswert" + Me.EntryValueEdit.TitelText = "" Me.EntryValueEdit.Value = "" ' - 'EntrysListEdit - ' - Me.EntrysListEdit.Location = New System.Drawing.Point(339, 217) - Me.EntrysListEdit.Name = "EntrysListEdit" - Me.EntrysListEdit.Size = New System.Drawing.Size(316, 202) - Me.EntrysListEdit.TabIndex = 17 - Me.EntrysListEdit.TabStop = False - Me.EntrysListEdit.Text = "Eintragsliste" - ' 'SectionsListEdit ' - Me.SectionsListEdit.Location = New System.Drawing.Point(12, 217) + resources.ApplyResources(Me.SectionsListEdit, "SectionsListEdit") Me.SectionsListEdit.Name = "SectionsListEdit" - Me.SectionsListEdit.Size = New System.Drawing.Size(321, 202) - Me.SectionsListEdit.TabIndex = 16 - Me.SectionsListEdit.TabStop = False - Me.SectionsListEdit.Text = "Abschnittsliste" + Me.SectionsListEdit.TitelText = "" ' - 'SectionsCommentEdit + 'IniFileContentView ' - Me.SectionsCommentEdit.Comment = New String(-1) {} - Me.SectionsCommentEdit.Location = New System.Drawing.Point(339, 38) - Me.SectionsCommentEdit.Name = "SectionsCommentEdit" - Me.SectionsCommentEdit.Size = New System.Drawing.Size(316, 164) - Me.SectionsCommentEdit.TabIndex = 15 - Me.SectionsCommentEdit.TabStop = False - Me.SectionsCommentEdit.Text = "Abschnittskommentar" + Me.IniFileContentView.Lines = Nothing + resources.ApplyResources(Me.IniFileContentView, "IniFileContentView") + Me.IniFileContentView.Name = "IniFileContentView" + Me.IniFileContentView.TitelText = "" ' 'FileCommentEdit ' - Me.FileCommentEdit.Comment = New String(-1) {} - Me.FileCommentEdit.Location = New System.Drawing.Point(12, 38) + Me.FileCommentEdit.Comment = Nothing + resources.ApplyResources(Me.FileCommentEdit, "FileCommentEdit") Me.FileCommentEdit.Name = "FileCommentEdit" - Me.FileCommentEdit.Size = New System.Drawing.Size(321, 164) - Me.FileCommentEdit.TabIndex = 14 - Me.FileCommentEdit.TabStop = False - Me.FileCommentEdit.Text = "Dateikommentar" + Me.FileCommentEdit.TitelText = "" ' 'IniFile1 ' - Me.IniFile1.AutoSave = True + Me.IniFile1.AutoSave = False Me.IniFile1.CommentPrefix = Global.Microsoft.VisualBasic.ChrW(59) Me.IniFile1.FilePath = "D:\Dokumente\NeueDatei.ini" ' 'FormIniFileControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(942, 434) - Me.Controls.Add(Me.IniFileContentView) - Me.Controls.Add(Me.EntryValueEdit) Me.Controls.Add(Me.EntrysListEdit) - Me.Controls.Add(Me.SectionsListEdit) Me.Controls.Add(Me.SectionsCommentEdit) + Me.Controls.Add(Me.EntryValueEdit) + Me.Controls.Add(Me.SectionsListEdit) + Me.Controls.Add(Me.IniFileContentView) Me.Controls.Add(Me.FileCommentEdit) Me.Controls.Add(MenuStrip_HauptMenu) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog @@ -175,24 +150,21 @@ Partial Class FormIniFileControl Me.Name = "FormIniFileControl" Me.ShowIcon = False Me.ShowInTaskbar = False - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "IniFile - Control - Test" MenuStrip_HauptMenu.ResumeLayout(False) MenuStrip_HauptMenu.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() End Sub - - Private WithEvents IniFileContentView As SchlumpfSoft.Controls.IniFileControl.IniFileContentView - Private WithEvents EntryValueEdit As SchlumpfSoft.Controls.IniFileControl.IniFileEntryValueEdit - Private WithEvents EntrysListEdit As SchlumpfSoft.Controls.IniFileControl.IniFileListEdit - Private WithEvents SectionsListEdit As SchlumpfSoft.Controls.IniFileControl.IniFileListEdit - Friend WithEvents SectionsCommentEdit As SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit - Friend WithEvents FileCommentEdit As SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit - Private WithEvents IniFile1 As SchlumpfSoft.Controls.IniFileControl.IniFile Private WithEvents ToolStripMenuItem_Oeffnen As ToolStripMenuItem Private WithEvents ToolStripMenuItem_Speichern As ToolStripMenuItem Private WithEvents ToolStripMenuItem_SpeichernUnter As ToolStripMenuItem Private WithEvents ToolStripMenuItem_Beenden As ToolStripMenuItem + Private WithEvents IniFile1 As SchlumpfSoft.Controls.IniFileControl.IniFile + Private WithEvents FileCommentEdit As SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit + Private WithEvents IniFileContentView As SchlumpfSoft.Controls.IniFileControl.IniFileContentView + Private WithEvents SectionsListEdit As SchlumpfSoft.Controls.IniFileControl.IniFileListEdit + Private WithEvents EntryValueEdit As SchlumpfSoft.Controls.IniFileControl.IniFileEntryValueEdit + Private WithEvents SectionsCommentEdit As SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit + Private WithEvents EntrysListEdit As SchlumpfSoft.Controls.IniFileControl.IniFileListEdit End Class diff --git a/TestApp/FormIniFileControl.en-US.resx b/TestApp/FormIniFileControl.en-US.resx new file mode 100644 index 0000000..43b41b4 --- /dev/null +++ b/TestApp/FormIniFileControl.en-US.resx @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 124, 22 + + + Open ... + + + 121, 6 + + + 124, 22 + + + Save + + + 124, 22 + + + Save as ... + + + 121, 6 + + + 124, 22 + + + Finish + + + 35, 20 + + + file + + + Inifile - Control - test + + \ No newline at end of file diff --git a/TestApp/FormIniFileControl.resx b/TestApp/FormIniFileControl.resx index 8b33bf9..9953bf5 100644 --- a/TestApp/FormIniFileControl.resx +++ b/TestApp/FormIniFileControl.resx @@ -121,18 +121,273 @@ False - 120, 21 + 30, 18 False + + + 169, 22 + + + Öffnen ... + False + + 166, 6 + + + 169, 22 + + + Speichern + + + 169, 22 + + + Speichern unter ... + False + + 166, 6 + + + 169, 22 + + + Beenden + + + 46, 20 + + + Datei + + + 0, 0 + + + 920, 24 + + + + 13 + + + MenuStrip_HauptMenu + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 344, 32 + + + 326, 201 + + + 19 + + + EntrysListEdit + + + SchlumpfSoft.Controls.IniFileControl.IniFileListEdit, IniFileControl, Version=2.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 0 + + + 344, 322 + + + 326, 156 + + + 18 + + + SectionsCommentEdit + + + SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit, IniFileControl, Version=2.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 1 + + + 344, 239 + + + 326, 77 + + + 17 + + + EntryValueEdit + + + SchlumpfSoft.Controls.IniFileControl.IniFileEntryValueEdit, IniFileControl, Version=2.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 2 + + + 12, 239 + + + 326, 239 + + + 16 + + + SectionsListEdit + + + SchlumpfSoft.Controls.IniFileControl.IniFileListEdit, IniFileControl, Version=2.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 3 + + + 676, 32 + + + 232, 446 + + + 15 + + + IniFileContentView + + + SchlumpfSoft.Controls.IniFileControl.IniFileContentView, IniFileControl, Version=2.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 4 + + + 12, 32 + + + 326, 201 + + + 14 + + + FileCommentEdit + + + SchlumpfSoft.Controls.IniFileControl.IniFileCommentEdit, IniFileControl, Version=2.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 5 + - 29, 21 + 208, 18 + + True + + + 6, 13 + + + 920, 488 + + + + CenterParent + + + IniFile - Control - Test + + + ToolStripMenuItem_Datei + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem_Oeffnen + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator1 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem_Speichern + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem_SpeichernUnter + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripSeparator2 + + + System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItem_Beenden + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + IniFile1 + + + SchlumpfSoft.Controls.IniFileControl.IniFile, IniFileControl, Version=2.2024.22.8, Culture=neutral, PublicKeyToken=null + + + FormIniFileControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormIniFileControl.vb b/TestApp/FormIniFileControl.vb index af3e752..e52138f 100644 --- a/TestApp/FormIniFileControl.vb +++ b/TestApp/FormIniFileControl.vb @@ -5,13 +5,38 @@ ' +Imports System.Globalization +Imports System.Threading + + Public Class FormIniFileControl + Public Sub New() + + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + 'Titelzeilen der Controls anpassen + Me.FileCommentEdit.TitelText = My.Resources.IniFile_FileCommentEditTitle + Me.SectionsListEdit.TitelText = My.Resources.IniFile_SectionsListEditTitle + Me.EntrysListEdit.TitelText = My.Resources.IniFile_EntrysListEditTitle + Me.EntryValueEdit.TitelText = My.Resources.IniFile_EntryValueEditTitle + Me.SectionsCommentEdit.TitelText = My.Resources.IniFile_SectionsCommentEditTitle + Me.IniFileContentView.TitelText = My.Resources.IniFile_ContentViewTitle + + End Sub + + Private Sub FileCommentEdit_CommentChanged( sender As Object, - e As EventArgs) Handles _ - FileCommentEdit.CommentChanged + e As EventArgs) Handles FileCommentEdit.CommentChanged 'Kommentar holen Dim comment() As String = CType( @@ -46,8 +71,7 @@ Public Class FormIniFileControl Private Sub EntryValueEdit_ValueChanged( sender As Object, - e As EventArgs) Handles _ - EntryValueEdit.ValueChanged + e As EventArgs) Handles EntryValueEdit.ValueChanged 'Abschnittsname holen Dim sectionname As String = Me.SectionsListEdit.SelectedItem @@ -80,8 +104,7 @@ Public Class FormIniFileControl Private Sub SectionsListEdit_ItemAdd( sender As Object, - e As EventArgs) Handles _ - SectionsListEdit.ItemAdd + e As EventArgs) Handles SectionsListEdit.ItemAdd 'neuen Abschnittsname abfragen Dim newsection As String = InputBox( @@ -97,8 +120,7 @@ Public Class FormIniFileControl Private Sub SectionsListEdit_ItemRename( sender As Object, - e As EventArgs) Handles _ - SectionsListEdit.ItemRename + e As EventArgs) Handles SectionsListEdit.ItemRename 'Abschnittsname holen Dim sectionname As String = CType( @@ -137,8 +159,7 @@ Public Class FormIniFileControl Private Sub SectionsListEdit_ItemRemove( sender As Object, - e As EventArgs) Handles _ - SectionsListEdit.ItemRemove + e As EventArgs) Handles SectionsListEdit.ItemRemove 'Abschnittsname holen Dim sectionname As String = CType( @@ -161,8 +182,7 @@ Public Class FormIniFileControl Private Sub SectionsListEdit_SelectedItemChanged( sender As Object, - e As EventArgs) Handles _ - SectionsListEdit.SelectedItemChanged + e As EventArgs) Handles SectionsListEdit.SelectedItemChanged 'Abschnittsname holen Dim sectionname As String = CType( @@ -195,8 +215,7 @@ Public Class FormIniFileControl Private Sub EntrysListEdit_ItemAdd( sender As Object, - e As EventArgs) Handles _ - EntrysListEdit.ItemAdd + e As EventArgs) Handles EntrysListEdit.ItemAdd 'Abschnittsname holen Dim sectionname As String = Me.SectionsListEdit.SelectedItem @@ -226,8 +245,7 @@ Public Class FormIniFileControl Private Sub EntrysListEdit_ItemRename( sender As Object, - e As EventArgs) Handles _ - EntrysListEdit.ItemRename + e As EventArgs) Handles EntrysListEdit.ItemRename 'Abschnittsname holen Dim sectionname As String = Me.SectionsListEdit.SelectedItem @@ -261,8 +279,7 @@ Public Class FormIniFileControl Private Sub EntrysListEdit_ItemRemove( sender As Object, - e As EventArgs) Handles _ - EntrysListEdit.ItemRemove + e As EventArgs) Handles EntrysListEdit.ItemRemove 'Abschnittsname holen Dim sectionname As String = Me.SectionsListEdit.SelectedItem @@ -290,8 +307,7 @@ Public Class FormIniFileControl Private Sub EntrysListEdit_SelectedItemChanged( sender As Object, - e As EventArgs) Handles _ - EntrysListEdit.SelectedItemChanged + e As EventArgs) Handles EntrysListEdit.SelectedItemChanged 'Abschnittsname holen Dim sectionname As String = Me.SectionsListEdit.SelectedItem @@ -323,6 +339,10 @@ Public Class FormIniFileControl e As EventArgs) Handles _ IniFile1.FileContentChanged +#If DEBUG Then + Debug.Print($"IniFile1_FileContentChanged: Der Dateiinhalt hat sich geändert.") +#End If + 'Dateiinhalt anzeigen Me.IniFileContentView.Lines = CType( sender, @@ -346,6 +366,10 @@ Public Class FormIniFileControl e As EventArgs) Handles _ IniFile1.FileCommentChanged +#If DEBUG Then + Debug.Print($"IniFile1_FileCommentChanged: Der Dateikommentar hat sich geändert") +#End If + 'geänderten Dateikommentar übenehmen Me.FileCommentEdit.Comment = CType( sender, @@ -359,10 +383,14 @@ Public Class FormIniFileControl e As EventArgs) Handles _ IniFile1.SectionsChanged +#If DEBUG Then + Debug.Print($"IniFile1_SectionsChanged: Die Abschnittsliste hat sich geändert.") +#End If + 'Abschnittsliste neu füllen Me.SectionsListEdit.Items = CType( - sender, - SchlumpfSoft.Controls.IniFileControl.IniFile).GetSectionNames + sender, + SchlumpfSoft.Controls.IniFileControl.IniFile).GetSectionNames End Sub @@ -372,12 +400,16 @@ Public Class FormIniFileControl e As EventArgs) Handles _ IniFile1.SectionNameExist +#If DEBUG Then + Debug.Print($"IniFile1_SectionNameExist: Der Abschnittsname existiert bereits.") +#End If + Dim unused = MessageBox.Show( - Me, - $"Der Abschnitt existiert bereits.", - $"Ein Fehler ist aufgetreten", - MessageBoxButtons.OK, - MessageBoxIcon.Error) + Me, + $"Der Abschnitt existiert bereits.", + $"Ein Fehler ist aufgetreten", + MessageBoxButtons.OK, + MessageBoxIcon.Error) End Sub @@ -387,6 +419,10 @@ Public Class FormIniFileControl e As EventArgs) Handles _ IniFile1.SectionCommentChanged +#If DEBUG Then + Debug.Print($"IniFile1_SectionCommentChanged: Der Abschnittskommentar hat sich geändert.") +#End If + 'Abschnittsname holen Dim sectionname As String = Me.SectionsListEdit.SelectedItem @@ -403,12 +439,16 @@ Public Class FormIniFileControl e As EventArgs) Handles _ IniFile1.EntrynameExist +#If DEBUG Then + Debug.Print($"IniFile1_EntrynameExist: Der Eintrag existiert bereits.") +#End If + Dim unused = MessageBox.Show( - Me, - $"Der Eintrag existiert bereits.", - $"Ein Fehler ist aufgetreten", - MessageBoxButtons.OK, - MessageBoxIcon.Error) + Me, + $"Der Eintrag existiert bereits.", + $"Ein Fehler ist aufgetreten", + MessageBoxButtons.OK, + MessageBoxIcon.Error) End Sub @@ -418,29 +458,44 @@ Public Class FormIniFileControl e As EventArgs) Handles _ IniFile1.EntrysChanged +#If DEBUG Then + Debug.Print($"IniFile1_EntrysChanged: Die Eintragsliste hat sich geändert.") +#End If + 'Eintragsliste neu befüllen Me.EntrysListEdit.Items = CType( - sender, - SchlumpfSoft.Controls.IniFileControl.IniFile).GetEntryNames( - Me.SectionsListEdit.SelectedItem) + sender, + SchlumpfSoft.Controls.IniFileControl.IniFile).GetEntryNames( + Me.SectionsListEdit.SelectedItem) End Sub - Private Sub ToolStripMenuItem_Oeffnen_Click( + Private Sub IniFile1_EntryValuChanged( sender As Object, e As EventArgs) Handles _ + IniFile1.EntryValueChanged + +#If DEBUG Then + Debug.Print($"IniFile1_EntryValuChanged: Der Eintragswert hat sich geändert.") +#End If + + + End Sub + + + Private Sub ToolStripMenuItem_Oeffnen_Click(sender As Object, e As EventArgs) Handles _ ToolStripMenuItem_Oeffnen.Click 'Datei öffnen Dim ofd As New OpenFileDialog With { - .Title = $"INI - Datei öffnen", - .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments, - .Filter = $"INI-Dateien (*.ini)|*.ini", - .AddExtension = True, - .CheckFileExists = True, - .Multiselect = False, - .ShowHelp = False} + .Title = My.Resources.IniFile_OpenFileDialogTitle, + .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments, + .Filter = My.Resources.IniFile_FileDialogFilter, + .AddExtension = True, + .CheckFileExists = True, + .Multiselect = False, + .ShowHelp = False} Dim result As DialogResult = ofd.ShowDialog(Me) If Not result = DialogResult.OK Then Exit Sub @@ -450,9 +505,9 @@ Public Class FormIniFileControl Private Sub ToolStripMenuItem_Speichern_Click( - sender As Object, - e As EventArgs) Handles _ - ToolStripMenuItem_Speichern.Click + sender As Object, + e As EventArgs) Handles _ + ToolStripMenuItem_Speichern.Click 'Datei speichern Me.IniFile1.SaveFile() @@ -461,18 +516,18 @@ Public Class FormIniFileControl Private Sub ToolStripMenuItem_SpeichernUnter_Click( - sender As Object, - e As EventArgs) Handles _ - ToolStripMenuItem_SpeichernUnter.Click + sender As Object, + e As EventArgs) Handles _ + ToolStripMenuItem_SpeichernUnter.Click 'Datei speichern unter ... Dim sfd As New SaveFileDialog With { - .Title = $"INI - Datei speichern unter", - .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments, - .Filter = $"INI-Dateien (*.ini)|*.ini", - .AddExtension = True, - .CheckFileExists = False, - .ShowHelp = False} + .Title = My.Resources.IniFile_SaveFileDialogTitle, + .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments, + .Filter = My.Resources.IniFile_FileDialogFilter, + .AddExtension = True, + .CheckFileExists = False, + .ShowHelp = False} Dim result As DialogResult = sfd.ShowDialog(Me) If Not result = DialogResult.OK Then Exit Sub @@ -482,9 +537,9 @@ Public Class FormIniFileControl Private Sub ToolStripMenuItem_Beenden_Click( - sender As Object, - e As EventArgs) Handles _ - ToolStripMenuItem_Beenden.Click + sender As Object, + e As EventArgs) Handles _ + ToolStripMenuItem_Beenden.Click 'Programm beenden Me.Close() diff --git a/TestApp/FormMain.Designer.vb b/TestApp/FormMain.Designer.vb index 278f86c..bdd3adb 100644 --- a/TestApp/FormMain.Designer.vb +++ b/TestApp/FormMain.Designer.vb @@ -22,6 +22,7 @@ Partial Class FormMain 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormMain)) Me.FlowLayoutPanel = New System.Windows.Forms.FlowLayoutPanel() Me.ButtonAniGif = New System.Windows.Forms.Button() Me.ButtonDriveWatcher = New System.Windows.Forms.Button() @@ -31,12 +32,17 @@ Partial Class FormMain Me.ButtonShapeControl = New System.Windows.Forms.Button() Me.ButtonTransparentLabelControl = New System.Windows.Forms.Button() Me.ButtonWizardControl = New System.Windows.Forms.Button() + Me.MenuStrip = New System.Windows.Forms.MenuStrip() + Me.ToolStripMenuItemSprache = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItemDeutsch = New System.Windows.Forms.ToolStripMenuItem() + Me.ToolStripMenuItemEnglisch = New System.Windows.Forms.ToolStripMenuItem() Me.FlowLayoutPanel.SuspendLayout() + Me.MenuStrip.SuspendLayout() Me.SuspendLayout() ' 'FlowLayoutPanel ' - Me.FlowLayoutPanel.AutoScroll = True + resources.ApplyResources(Me.FlowLayoutPanel, "FlowLayoutPanel") Me.FlowLayoutPanel.Controls.Add(Me.ButtonAniGif) Me.FlowLayoutPanel.Controls.Add(Me.ButtonDriveWatcher) Me.FlowLayoutPanel.Controls.Add(Me.ButtonIniFilecontrol) @@ -45,99 +51,94 @@ Partial Class FormMain Me.FlowLayoutPanel.Controls.Add(Me.ButtonShapeControl) Me.FlowLayoutPanel.Controls.Add(Me.ButtonTransparentLabelControl) Me.FlowLayoutPanel.Controls.Add(Me.ButtonWizardControl) - Me.FlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill - Me.FlowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown - Me.FlowLayoutPanel.Location = New System.Drawing.Point(0, 0) Me.FlowLayoutPanel.Name = "FlowLayoutPanel" - Me.FlowLayoutPanel.Size = New System.Drawing.Size(260, 244) - Me.FlowLayoutPanel.TabIndex = 0 ' 'ButtonAniGif ' - Me.ButtonAniGif.Location = New System.Drawing.Point(3, 3) + resources.ApplyResources(Me.ButtonAniGif, "ButtonAniGif") Me.ButtonAniGif.Name = "ButtonAniGif" - Me.ButtonAniGif.Size = New System.Drawing.Size(245, 23) - Me.ButtonAniGif.TabIndex = 0 - Me.ButtonAniGif.Text = "AniGif Control" Me.ButtonAniGif.UseVisualStyleBackColor = True ' 'ButtonDriveWatcher ' - Me.ButtonDriveWatcher.Location = New System.Drawing.Point(3, 32) + resources.ApplyResources(Me.ButtonDriveWatcher, "ButtonDriveWatcher") Me.ButtonDriveWatcher.Name = "ButtonDriveWatcher" - Me.ButtonDriveWatcher.Size = New System.Drawing.Size(245, 23) - Me.ButtonDriveWatcher.TabIndex = 1 - Me.ButtonDriveWatcher.Text = "DriveWatcher Control" Me.ButtonDriveWatcher.UseVisualStyleBackColor = True ' 'ButtonIniFilecontrol ' - Me.ButtonIniFilecontrol.Location = New System.Drawing.Point(3, 61) + resources.ApplyResources(Me.ButtonIniFilecontrol, "ButtonIniFilecontrol") Me.ButtonIniFilecontrol.Name = "ButtonIniFilecontrol" - Me.ButtonIniFilecontrol.Size = New System.Drawing.Size(245, 23) - Me.ButtonIniFilecontrol.TabIndex = 2 - Me.ButtonIniFilecontrol.Text = "IniFile Control" Me.ButtonIniFilecontrol.UseVisualStyleBackColor = True ' 'ButtonNotifyFormControl ' - Me.ButtonNotifyFormControl.Location = New System.Drawing.Point(3, 90) + resources.ApplyResources(Me.ButtonNotifyFormControl, "ButtonNotifyFormControl") Me.ButtonNotifyFormControl.Name = "ButtonNotifyFormControl" - Me.ButtonNotifyFormControl.Size = New System.Drawing.Size(245, 23) - Me.ButtonNotifyFormControl.TabIndex = 3 - Me.ButtonNotifyFormControl.Text = "NotifyForm Control" Me.ButtonNotifyFormControl.UseVisualStyleBackColor = True ' 'ButtonSevenSegmentControl ' - Me.ButtonSevenSegmentControl.Location = New System.Drawing.Point(3, 119) + resources.ApplyResources(Me.ButtonSevenSegmentControl, "ButtonSevenSegmentControl") Me.ButtonSevenSegmentControl.Name = "ButtonSevenSegmentControl" - Me.ButtonSevenSegmentControl.Size = New System.Drawing.Size(245, 23) - Me.ButtonSevenSegmentControl.TabIndex = 4 - Me.ButtonSevenSegmentControl.Text = "SevenSegment Control" Me.ButtonSevenSegmentControl.UseVisualStyleBackColor = True ' 'ButtonShapeControl ' - Me.ButtonShapeControl.Location = New System.Drawing.Point(3, 148) + resources.ApplyResources(Me.ButtonShapeControl, "ButtonShapeControl") Me.ButtonShapeControl.Name = "ButtonShapeControl" - Me.ButtonShapeControl.Size = New System.Drawing.Size(245, 23) - Me.ButtonShapeControl.TabIndex = 5 - Me.ButtonShapeControl.Text = "Shape Control" Me.ButtonShapeControl.UseVisualStyleBackColor = True ' 'ButtonTransparentLabelControl ' - Me.ButtonTransparentLabelControl.Location = New System.Drawing.Point(3, 177) + resources.ApplyResources(Me.ButtonTransparentLabelControl, "ButtonTransparentLabelControl") Me.ButtonTransparentLabelControl.Name = "ButtonTransparentLabelControl" - Me.ButtonTransparentLabelControl.Size = New System.Drawing.Size(245, 23) - Me.ButtonTransparentLabelControl.TabIndex = 6 - Me.ButtonTransparentLabelControl.Text = "TransparentLabel Control" Me.ButtonTransparentLabelControl.UseVisualStyleBackColor = True ' 'ButtonWizardControl ' - Me.ButtonWizardControl.Location = New System.Drawing.Point(3, 206) + resources.ApplyResources(Me.ButtonWizardControl, "ButtonWizardControl") Me.ButtonWizardControl.Name = "ButtonWizardControl" - Me.ButtonWizardControl.Size = New System.Drawing.Size(245, 23) - Me.ButtonWizardControl.TabIndex = 7 - Me.ButtonWizardControl.Text = "Wizard Control" Me.ButtonWizardControl.UseVisualStyleBackColor = True ' + 'MenuStrip + ' + Me.MenuStrip.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItemSprache}) + resources.ApplyResources(Me.MenuStrip, "MenuStrip") + Me.MenuStrip.Name = "MenuStrip" + ' + 'ToolStripMenuItemSprache + ' + Me.ToolStripMenuItemSprache.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItemDeutsch, Me.ToolStripMenuItemEnglisch}) + Me.ToolStripMenuItemSprache.Name = "ToolStripMenuItemSprache" + resources.ApplyResources(Me.ToolStripMenuItemSprache, "ToolStripMenuItemSprache") + ' + 'ToolStripMenuItemDeutsch + ' + Me.ToolStripMenuItemDeutsch.Name = "ToolStripMenuItemDeutsch" + resources.ApplyResources(Me.ToolStripMenuItemDeutsch, "ToolStripMenuItemDeutsch") + ' + 'ToolStripMenuItemEnglisch + ' + Me.ToolStripMenuItemEnglisch.Name = "ToolStripMenuItemEnglisch" + resources.ApplyResources(Me.ToolStripMenuItemEnglisch, "ToolStripMenuItemEnglisch") + ' 'FormMain ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(260, 244) Me.Controls.Add(Me.FlowLayoutPanel) + Me.Controls.Add(Me.MenuStrip) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MainMenuStrip = Me.MenuStrip Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "FormMain" - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen - Me.Text = "FormMain" Me.FlowLayoutPanel.ResumeLayout(False) + Me.MenuStrip.ResumeLayout(False) + Me.MenuStrip.PerformLayout() Me.ResumeLayout(False) + Me.PerformLayout() End Sub @@ -150,4 +151,8 @@ Partial Class FormMain Private WithEvents ButtonShapeControl As Button Private WithEvents ButtonTransparentLabelControl As Button Private WithEvents ButtonWizardControl As Button + Private WithEvents MenuStrip As MenuStrip + Private WithEvents ToolStripMenuItemSprache As ToolStripMenuItem + Private WithEvents ToolStripMenuItemDeutsch As ToolStripMenuItem + Private WithEvents ToolStripMenuItemEnglisch As ToolStripMenuItem End Class diff --git a/TestApp/FormMain.en-US.resx b/TestApp/FormMain.en-US.resx new file mode 100644 index 0000000..05c63f1 --- /dev/null +++ b/TestApp/FormMain.en-US.resx @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + 180, 22 + + + 180, 22 + + + Anigif Control + + + Drivewatcher Control + + + Inifile control + + + Notificform Control + + + Sevensgment Control + + + Shape Control + + + Transparent label Control + + + Wizard Control + + + German + + + English + + + Language + + + Controls test app + + \ No newline at end of file diff --git a/TestApp/FormMain.resx b/TestApp/FormMain.resx index 1af7de1..5a9374b 100644 --- a/TestApp/FormMain.resx +++ b/TestApp/FormMain.resx @@ -117,4 +117,313 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + + 3, 3 + + + 245, 23 + + + 0 + + + AniGif Control + + + ButtonAniGif + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 0 + + + 3, 32 + + + 245, 23 + + + 1 + + + DriveWatcher Control + + + ButtonDriveWatcher + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 1 + + + 3, 61 + + + 245, 23 + + + 2 + + + IniFile Control + + + ButtonIniFilecontrol + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 2 + + + 3, 90 + + + 245, 23 + + + 3 + + + NotifyForm Control + + + ButtonNotifyFormControl + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 3 + + + 3, 119 + + + 245, 23 + + + 4 + + + SevenSegment Control + + + ButtonSevenSegmentControl + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 4 + + + 3, 148 + + + 245, 23 + + + 5 + + + Shape Control + + + ButtonShapeControl + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 5 + + + 3, 177 + + + 245, 23 + + + 6 + + + TransparentLabel Control + + + ButtonTransparentLabelControl + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 6 + + + 3, 206 + + + 245, 23 + + + 7 + + + Wizard Control + + + ButtonWizardControl + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FlowLayoutPanel + + + 7 + + + + Fill + + + TopDown + + + 0, 24 + + + 255, 241 + + + 0 + + + FlowLayoutPanel + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + 17, 17 + + + 118, 22 + + + Deutsch + + + 118, 22 + + + Englisch + + + 61, 20 + + + Sprache + + + 0, 0 + + + 255, 24 + + + 1 + + + MenuStrip + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + en-US + + + 6, 13 + + + 255, 265 + + + CenterScreen + + + Controls Test App + + + ToolStripMenuItemSprache + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItemDeutsch + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ToolStripMenuItemEnglisch + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FormMain + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormMain.vb b/TestApp/FormMain.vb index 92c5027..be6d641 100644 --- a/TestApp/FormMain.vb +++ b/TestApp/FormMain.vb @@ -5,8 +5,28 @@ ' +Imports System.Globalization +Imports System.Threading + + Public Class FormMain + + Public Sub New() + + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + + Private Sub Button_Click(sender As Object, e As EventArgs) Handles _ ButtonDriveWatcher.Click, ButtonAniGif.Click, @@ -52,12 +72,49 @@ Public Class FormMain End Sub - Private Sub FormMain_Load(sender As Object, e As EventArgs) Handles _ - Me.Load + Private Sub FormMain_Load( + sender As Object, + e As EventArgs) Handles _ + Me.Load 'Titelzeile anpassen Me.Text = $"{My.Application.Info.Title} V{My.Application.Info.Version}" + +#If DEBUG Then + + Dim currentUICulture As CultureInfo = Thread.CurrentThread.CurrentUICulture + Debug.Print($"Aktuelle Benutzeroberflächenkultur: {currentUICulture.Name}") + +#End If + End Sub + + Private Sub ToolStripMenuItemDeutsch_Click( + sender As Object, + e As EventArgs) Handles _ + ToolStripMenuItemDeutsch.Click, + ToolStripMenuItemEnglisch.Click + + Select Case True + + Case sender Is Me.ToolStripMenuItemDeutsch + + 'Oberfläche auf Deutsch einstellen + My.Settings.LangCode = $"de-DE" + + Case sender Is Me.ToolStripMenuItemEnglisch + + 'Oberfläche auf Enlisch einstellen + My.Settings.LangCode = $"en-US" + + End Select + + 'Anwendung neu starten + Application.Restart() + + End Sub + + End Class diff --git a/TestApp/FormNotifyFormControl.Designer.vb b/TestApp/FormNotifyFormControl.Designer.vb index b66b32b..75c1653 100644 --- a/TestApp/FormNotifyFormControl.Designer.vb +++ b/TestApp/FormNotifyFormControl.Designer.vb @@ -22,6 +22,7 @@ Partial Class FormNotifyFormControl 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormNotifyFormControl)) Me.Label_ShowTime = New System.Windows.Forms.Label() Me.Label_Message = New System.Windows.Forms.Label() Me.Label_Title = New System.Windows.Forms.Label() @@ -39,104 +40,66 @@ Partial Class FormNotifyFormControl ' 'Label_ShowTime ' - Me.Label_ShowTime.AutoSize = True - Me.Label_ShowTime.Location = New System.Drawing.Point(14, 184) + resources.ApplyResources(Me.Label_ShowTime, "Label_ShowTime") Me.Label_ShowTime.Name = "Label_ShowTime" - Me.Label_ShowTime.Size = New System.Drawing.Size(64, 13) - Me.Label_ShowTime.TabIndex = 21 - Me.Label_ShowTime.Text = "Anzeigezeit:" ' 'Label_Message ' - Me.Label_Message.AutoSize = True - Me.Label_Message.Location = New System.Drawing.Point(14, 107) + resources.ApplyResources(Me.Label_Message, "Label_Message") Me.Label_Message.Name = "Label_Message" - Me.Label_Message.Size = New System.Drawing.Size(77, 13) - Me.Label_Message.TabIndex = 20 - Me.Label_Message.Text = "Mitteilungstext:" ' 'Label_Title ' - Me.Label_Title.AutoSize = True - Me.Label_Title.Location = New System.Drawing.Point(14, 74) + resources.ApplyResources(Me.Label_Title, "Label_Title") Me.Label_Title.Name = "Label_Title" - Me.Label_Title.Size = New System.Drawing.Size(61, 13) - Me.Label_Title.TabIndex = 19 - Me.Label_Title.Text = "Fenstertitel:" ' 'Label_Style ' - Me.Label_Style.AutoSize = True - Me.Label_Style.Location = New System.Drawing.Point(14, 44) + resources.ApplyResources(Me.Label_Style, "Label_Style") Me.Label_Style.Name = "Label_Style" - Me.Label_Style.Size = New System.Drawing.Size(33, 13) - Me.Label_Style.TabIndex = 18 - Me.Label_Style.Text = "Style:" ' 'Label_Design ' - Me.Label_Design.AutoSize = True - Me.Label_Design.Location = New System.Drawing.Point(14, 15) + resources.ApplyResources(Me.Label_Design, "Label_Design") Me.Label_Design.Name = "Label_Design" - Me.Label_Design.Size = New System.Drawing.Size(43, 13) - Me.Label_Design.TabIndex = 17 - Me.Label_Design.Text = "Design:" ' 'Button_Show ' - Me.Button_Show.Location = New System.Drawing.Point(157, 218) + resources.ApplyResources(Me.Button_Show, "Button_Show") Me.Button_Show.Name = "Button_Show" - Me.Button_Show.Size = New System.Drawing.Size(102, 23) - Me.Button_Show.TabIndex = 16 - Me.Button_Show.Text = "Fenster anzeigen" Me.Button_Show.UseVisualStyleBackColor = True ' 'NumericUpDown_ShowTime ' - Me.NumericUpDown_ShowTime.Location = New System.Drawing.Point(199, 182) + resources.ApplyResources(Me.NumericUpDown_ShowTime, "NumericUpDown_ShowTime") Me.NumericUpDown_ShowTime.Maximum = New Decimal(New Integer() {20, 0, 0, 0}) Me.NumericUpDown_ShowTime.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) Me.NumericUpDown_ShowTime.Name = "NumericUpDown_ShowTime" - Me.NumericUpDown_ShowTime.Size = New System.Drawing.Size(60, 20) - Me.NumericUpDown_ShowTime.TabIndex = 15 Me.NumericUpDown_ShowTime.Value = New Decimal(New Integer() {1, 0, 0, 0}) ' 'TextBox_Message ' Me.TextBox_Message.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TextBox_Message.Location = New System.Drawing.Point(97, 105) - Me.TextBox_Message.Multiline = True + resources.ApplyResources(Me.TextBox_Message, "TextBox_Message") Me.TextBox_Message.Name = "TextBox_Message" - Me.TextBox_Message.ScrollBars = System.Windows.Forms.ScrollBars.Both - Me.TextBox_Message.Size = New System.Drawing.Size(162, 71) - Me.TextBox_Message.TabIndex = 14 - Me.TextBox_Message.WordWrap = False ' 'TextBox_Title ' Me.TextBox_Title.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TextBox_Title.Location = New System.Drawing.Point(99, 72) + resources.ApplyResources(Me.TextBox_Title, "TextBox_Title") Me.TextBox_Title.Name = "TextBox_Title" - Me.TextBox_Title.ScrollBars = System.Windows.Forms.ScrollBars.Both - Me.TextBox_Title.Size = New System.Drawing.Size(160, 20) - Me.TextBox_Title.TabIndex = 13 - Me.TextBox_Title.WordWrap = False ' 'ComboBox_Style ' Me.ComboBox_Style.FormattingEnabled = True - Me.ComboBox_Style.Location = New System.Drawing.Point(99, 41) + resources.ApplyResources(Me.ComboBox_Style, "ComboBox_Style") Me.ComboBox_Style.Name = "ComboBox_Style" - Me.ComboBox_Style.Size = New System.Drawing.Size(160, 21) - Me.ComboBox_Style.TabIndex = 12 ' 'ComboBox_Design ' Me.ComboBox_Design.FormattingEnabled = True - Me.ComboBox_Design.Location = New System.Drawing.Point(99, 12) + resources.ApplyResources(Me.ComboBox_Design, "ComboBox_Design") Me.ComboBox_Design.Name = "ComboBox_Design" - Me.ComboBox_Design.Size = New System.Drawing.Size(160, 21) - Me.ComboBox_Design.TabIndex = 11 ' 'NotifyForm1 ' @@ -148,9 +111,8 @@ Partial Class FormNotifyFormControl ' 'FormNotifyFormControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(279, 256) Me.Controls.Add(Me.Label_ShowTime) Me.Controls.Add(Me.Label_Message) Me.Controls.Add(Me.Label_Title) @@ -168,8 +130,6 @@ Partial Class FormNotifyFormControl Me.Name = "FormNotifyFormControl" Me.ShowIcon = False Me.ShowInTaskbar = False - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "NotifyForm - Control - Test" CType(Me.NumericUpDown_ShowTime, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) Me.PerformLayout() diff --git a/TestApp/FormNotifyFormControl.en-US.resx b/TestApp/FormNotifyFormControl.en-US.resx new file mode 100644 index 0000000..d7dfc27 --- /dev/null +++ b/TestApp/FormNotifyFormControl.en-US.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Display time: + + + Notification text: + + + Window title: + + + Style: + + + Design: + + + Show windows + + + Notificform - Control - test + + \ No newline at end of file diff --git a/TestApp/FormNotifyFormControl.resx b/TestApp/FormNotifyFormControl.resx index 4c3c302..3cd8791 100644 --- a/TestApp/FormNotifyFormControl.resx +++ b/TestApp/FormNotifyFormControl.resx @@ -117,7 +117,319 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + + 14, 184 + + + 64, 13 + + + 21 + + + Anzeigezeit: + + + Label_ShowTime + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 14, 107 + + + 77, 13 + + + 20 + + + Mitteilungstext: + + + Label_Message + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + 14, 74 + + + 61, 13 + + + 19 + + + Fenstertitel: + + + Label_Title + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + True + + + 14, 44 + + + 33, 13 + + + 18 + + + Style: + + + Label_Style + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + True + + + 14, 15 + + + 43, 13 + + + 17 + + + Design: + + + Label_Design + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + + + 157, 218 + + + 102, 23 + + + 16 + + + Fenster anzeigen + + + Button_Show + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + 199, 182 + + + 60, 20 + + + 15 + + + NumericUpDown_ShowTime + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + + + 97, 105 + + + True + + + + Both + + + 162, 71 + + + 14 + + + False + + + TextBox_Message + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + + + 99, 72 + + + Both + + + 160, 20 + + + 13 + + + False + + + TextBox_Title + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + + + 99, 41 + + + 160, 21 + + + 12 + + + ComboBox_Style + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + 99, 12 + + + 160, 21 + + + 11 + + + ComboBox_Design + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + 17, 17 + + True + + + en-US + + + 6, 13 + + + 279, 256 + + + CenterParent + + + NotifyForm - Control - Test + + + NotifyForm1 + + + SchlumpfSoft.Controls.NotifyFormControl.NotifyForm, NotifyFormControl, Version=2.2024.21.7, Culture=neutral, PublicKeyToken=null + + + FormNotifyFormControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormNotifyFormControl.vb b/TestApp/FormNotifyFormControl.vb index 5ab51d8..4f5969c 100644 --- a/TestApp/FormNotifyFormControl.vb +++ b/TestApp/FormNotifyFormControl.vb @@ -5,15 +5,31 @@ ' +Imports System.Globalization +Imports System.Threading +Imports SchlumpfSoft.Controls.NotifyFormControl + + Public Class FormNotifyFormControl - Private _ComboBox_Design_Items() As String = {$"Hell", $"Farbig", $"Dunkel"} - Private _ComboBox_Styles_Items() As String = {$"Infosymbol", $"Fragesymbol", $"Fehlersymbol", $"Hinweissymbol"} + Private _ComboBox_Design_Items() As String = { + My.Resources.NotifyForm_ComboBoxDesignItem1, + My.Resources.NotifyForm_ComboBoxDesignItem2, + My.Resources.NotifyForm_ComboBoxDesignItem3} + Private _ComboBox_Styles_Items() As String = { + My.Resources.NotifyForm_ComboBoxStylesItem1, + My.Resources.NotifyForm_ComboBoxStylesItem2, + My.Resources.NotifyForm_ComboBoxStylesItem3, + My.Resources.NotifyForm_ComboBoxStylesItem4} Public Sub New() + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + 'Dieser Aufruf ist für den Designer erforderlich. Me.InitializeComponent() @@ -39,9 +55,7 @@ Public Class FormNotifyFormControl End Sub - Private Sub ComboBox_SelectedindexChanged( - sender As Object, - e As EventArgs) Handles _ + Private Sub ComboBox_SelectedindexChanged(sender As Object, e As EventArgs) Handles _ ComboBox_Style.SelectedIndexChanged, ComboBox_Design.SelectedIndexChanged @@ -59,14 +73,14 @@ Public Class FormNotifyFormControl Case 0 'Helles Desing - Me.NotifyForm1.Design = SchlumpfSoft.Controls.NotifyFormControl.FormDesign.Bright + Me.NotifyForm1.Design = FormDesign.Bright Case 1 'Farbiges Desing - Me.NotifyForm1.Design = SchlumpfSoft.Controls.NotifyFormControl.FormDesign.Colorful + Me.NotifyForm1.Design = FormDesign.Colorful Case 2 'Dunkles Desing - Me.NotifyForm1.Design = SchlumpfSoft.Controls.NotifyFormControl.FormDesign.Dark + Me.NotifyForm1.Design = FormDesign.Dark End Select @@ -77,19 +91,19 @@ Public Class FormNotifyFormControl Case 0 'Infosymbol - Me.NotifyForm1.Style = SchlumpfSoft.Controls.NotifyFormControl.FormStyle.Information + Me.NotifyForm1.Style = FormStyle.Information Case 1 'Fragesymbol - Me.NotifyForm1.Style = SchlumpfSoft.Controls.NotifyFormControl.FormStyle.Question + Me.NotifyForm1.Style = FormStyle.Question Case 2 'Fehlersymbol - Me.NotifyForm1.Style = SchlumpfSoft.Controls.NotifyFormControl.FormStyle.CriticalError + Me.NotifyForm1.Style = FormStyle.CriticalError Case 3 'Hinweissymbol - Me.NotifyForm1.Style = SchlumpfSoft.Controls.NotifyFormControl.FormStyle.Exclamation + Me.NotifyForm1.Style = FormStyle.Exclamation End Select @@ -98,15 +112,11 @@ Public Class FormNotifyFormControl End Sub - Private Sub TextBox_TextChanged( - sender As Object, - e As EventArgs) Handles _ + Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) Handles _ TextBox_Title.TextChanged, TextBox_Message.TextChanged - Dim text As String = CType( - sender, - TextBox).Text + Dim text As String = CType(sender, TextBox).Text Select Case True @@ -125,9 +135,7 @@ Public Class FormNotifyFormControl End Sub - Private Sub NumericUpDown_ShowTime_ValueChanged_1( - sender As Object, - e As EventArgs) Handles _ + Private Sub NumericUpDown_ShowTime_ValueChanged_1(sender As Object, e As EventArgs) Handles _ NumericUpDown_ShowTime.ValueChanged Me.NotifyForm1.ShowTime = CInt(CType( @@ -137,9 +145,7 @@ Public Class FormNotifyFormControl End Sub - Private Sub Button_Show_Click( - sender As Object, - e As EventArgs) Handles _ + Private Sub Button_Show_Click(sender As Object, e As EventArgs) Handles _ Button_Show.Click Me.NotifyForm1.Show() diff --git a/TestApp/FormSevenSegmentControl.Designer.vb b/TestApp/FormSevenSegmentControl.Designer.vb index 89ac6bb..b718725 100644 --- a/TestApp/FormSevenSegmentControl.Designer.vb +++ b/TestApp/FormSevenSegmentControl.Designer.vb @@ -22,54 +22,47 @@ Partial Class FormSevenSegmentControl 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormSevenSegmentControl)) Me.Label1 = New System.Windows.Forms.Label() Me.TextBox2 = New System.Windows.Forms.TextBox() Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() Me.SevSegMultiDigit1 = New SchlumpfSoft.Controls.SevenSegmentControl.SevSegMultiDigit() Me.SevSegSingleDigit1 = New SchlumpfSoft.Controls.SevenSegmentControl.SevSegSingleDigit() Me.SuspendLayout() ' 'Label1 ' - Me.Label1.AutoSize = True - Me.Label1.Location = New System.Drawing.Point(10, 114) + resources.ApplyResources(Me.Label1, "Label1") Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(150, 13) - Me.Label1.TabIndex = 9 - Me.Label1.Text = "Zeichen eingeben ---------------> " ' 'TextBox2 ' Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TextBox2.Location = New System.Drawing.Point(296, 112) + resources.ApplyResources(Me.TextBox2, "TextBox2") Me.TextBox2.Name = "TextBox2" - Me.TextBox2.ScrollBars = System.Windows.Forms.ScrollBars.Both - Me.TextBox2.Size = New System.Drawing.Size(101, 20) - Me.TextBox2.TabIndex = 8 - Me.TextBox2.WordWrap = False ' 'TextBox1 ' Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TextBox1.Location = New System.Drawing.Point(174, 112) + resources.ApplyResources(Me.TextBox1, "TextBox1") Me.TextBox1.Name = "TextBox1" - Me.TextBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both - Me.TextBox1.Size = New System.Drawing.Size(101, 20) - Me.TextBox1.TabIndex = 7 - Me.TextBox1.WordWrap = False + ' + 'Label2 + ' + resources.ApplyResources(Me.Label2, "Label2") + Me.Label2.Name = "Label2" ' 'SevSegMultiDigit1 ' - Me.SevSegMultiDigit1.DigitCount = 2 + Me.SevSegMultiDigit1.DigitCount = 1 Me.SevSegMultiDigit1.DigitPadding = New System.Windows.Forms.Padding(10, 4, 10, 4) Me.SevSegMultiDigit1.InactiveColor = System.Drawing.Color.DarkGray Me.SevSegMultiDigit1.ItalicFactor = -0.1! - Me.SevSegMultiDigit1.Location = New System.Drawing.Point(296, 12) + resources.ApplyResources(Me.SevSegMultiDigit1, "SevSegMultiDigit1") Me.SevSegMultiDigit1.Name = "SevSegMultiDigit1" Me.SevSegMultiDigit1.SegmentWidth = 10 Me.SevSegMultiDigit1.ShowDecimalPoint = True - Me.SevSegMultiDigit1.Size = New System.Drawing.Size(120, 80) - Me.SevSegMultiDigit1.TabIndex = 6 Me.SevSegMultiDigit1.TabStop = False Me.SevSegMultiDigit1.Value = Nothing ' @@ -78,24 +71,21 @@ Partial Class FormSevenSegmentControl Me.SevSegSingleDigit1.ColonActive = False Me.SevSegSingleDigit1.CustomBitPattern = 0 Me.SevSegSingleDigit1.DecimalPointActive = False - Me.SevSegSingleDigit1.DigitValue = Nothing + Me.SevSegSingleDigit1.DigitValue = "" Me.SevSegSingleDigit1.InactiveColor = System.Drawing.Color.DarkGray Me.SevSegSingleDigit1.ItalicFactor = -0.1! - Me.SevSegSingleDigit1.Location = New System.Drawing.Point(174, 12) + resources.ApplyResources(Me.SevSegSingleDigit1, "SevSegSingleDigit1") Me.SevSegSingleDigit1.Name = "SevSegSingleDigit1" - Me.SevSegSingleDigit1.Padding = New System.Windows.Forms.Padding(10, 4, 10, 4) Me.SevSegSingleDigit1.SegmentWidth = 10 Me.SevSegSingleDigit1.ShowColon = False Me.SevSegSingleDigit1.ShowDecimalPoint = True - Me.SevSegSingleDigit1.Size = New System.Drawing.Size(60, 80) - Me.SevSegSingleDigit1.TabIndex = 5 Me.SevSegSingleDigit1.TabStop = False ' 'FormSevenSegmentControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(526, 149) + Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1) @@ -105,8 +95,6 @@ Partial Class FormSevenSegmentControl Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "FormSevenSegmentControl" - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "SevenSegment - Control - Test" Me.ResumeLayout(False) Me.PerformLayout() @@ -117,4 +105,5 @@ Partial Class FormSevenSegmentControl Private WithEvents TextBox1 As TextBox Private WithEvents SevSegMultiDigit1 As SchlumpfSoft.Controls.SevenSegmentControl.SevSegMultiDigit Private WithEvents SevSegSingleDigit1 As SchlumpfSoft.Controls.SevenSegmentControl.SevSegSingleDigit + Private WithEvents Label2 As Label End Class diff --git a/TestApp/FormSevenSegmentControl.en-US.resx b/TestApp/FormSevenSegmentControl.en-US.resx new file mode 100644 index 0000000..f7e8231 --- /dev/null +++ b/TestApp/FormSevenSegmentControl.en-US.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Enter characters: + + + Enter characters: + + + Seevens segment - control - test + + \ No newline at end of file diff --git a/TestApp/FormSevenSegmentControl.resx b/TestApp/FormSevenSegmentControl.resx index 1af7de1..d6082b9 100644 --- a/TestApp/FormSevenSegmentControl.resx +++ b/TestApp/FormSevenSegmentControl.resx @@ -117,4 +117,199 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + + NoControl + + + + 10, 114 + + + 96, 13 + + + 9 + + + Zeichen eingeben: + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 112, 254 + + + 7 + + + Both + + + 61, 20 + + + 8 + + + False + + + TextBox2 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 113, 112 + + + 1 + + + Both + + + 60, 20 + + + 7 + + + False + + + TextBox1 + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + + + True + + + NoControl + + + 10, 256 + + + 96, 13 + + + 10 + + + Zeichen eingeben: + + + Label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + 113, 153 + + + 60, 81 + + + 6 + + + SevSegMultiDigit1 + + + SchlumpfSoft.Controls.SevenSegmentControl.SevSegMultiDigit, SevenSegmentControl, Version=1.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 4 + + + 113, 12 + + + 10, 4, 10, 4 + + + 60, 80 + + + 5 + + + SevSegSingleDigit1 + + + SchlumpfSoft.Controls.SevenSegmentControl.SevSegSingleDigit, SevenSegmentControl, Version=1.2024.22.8, Culture=neutral, PublicKeyToken=null + + + $this + + + 5 + + + en-US + + + True + + + 6, 13 + + + 542, 286 + + + NoControl + + + CenterParent + + + SevenSegment - Control - Test + + + FormSevenSegmentControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormSevenSegmentControl.vb b/TestApp/FormSevenSegmentControl.vb index a21c473..f1f339f 100644 --- a/TestApp/FormSevenSegmentControl.vb +++ b/TestApp/FormSevenSegmentControl.vb @@ -5,22 +5,63 @@ ' +Imports System.Globalization +Imports System.Threading + + Public Class FormSevenSegmentControl - Private Sub TextBox_TextChanged( - sender As Object, - e As EventArgs) Handles _ + Public Sub New() + + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + 'Anzahl der eingebaren Zeichen der textboxen begrenzen + Me.TextBox1.MaxLength = 1 + Me.TextBox2.MaxLength = 7 + + End Sub + + + Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) Handles _ TextBox2.TextChanged, TextBox1.TextChanged + Dim text As String = CType(sender, TextBox).Text + Select Case True Case sender Is Me.TextBox1 - Me.SevSegSingleDigit1.DigitValue = Me.TextBox1.Text + Me.SevSegSingleDigit1.DigitValue = text Case sender Is Me.TextBox2 - Me.SevSegMultiDigit1.Value = Me.TextBox2.Text + + 'Anzeige auf die Anzahl der eingegebenen Zeichen (min = 1, max = 7) anpassen + Select Case text.Length + + Case < 1 + 'kein oder ein zeichen + Me.SevSegMultiDigit1.DigitCount = 1 + Me.SevSegMultiDigit1.Size = New Size With { + .Height = Me.SevSegMultiDigit1.Size.Height, + .Width = 60} + + Case Else + 'zwei oder mehr Zeichen + Me.SevSegMultiDigit1.DigitCount = text.Length + Me.SevSegMultiDigit1.Size = New Size With { + .Height = Me.SevSegMultiDigit1.Size.Height, + .Width = 60 * text.Length} + + End Select + + Me.SevSegMultiDigit1.Value = text End Select diff --git a/TestApp/FormShapeControl.Designer.vb b/TestApp/FormShapeControl.Designer.vb index dbbe9ca..4c6dd1d 100644 --- a/TestApp/FormShapeControl.Designer.vb +++ b/TestApp/FormShapeControl.Designer.vb @@ -23,6 +23,7 @@ Partial Class FormShapeControl _ Private Sub InitializeComponent() Dim Label_FillColor As System.Windows.Forms.Label + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FormShapeControl)) Dim Label_LineColor As System.Windows.Forms.Label Dim Label_LineWidth As System.Windows.Forms.Label Dim Label_LineModus As System.Windows.Forms.Label @@ -47,57 +48,34 @@ Partial Class FormShapeControl ' 'Label_FillColor ' - Label_FillColor.AutoSize = True - Label_FillColor.Location = New System.Drawing.Point(333, 177) + resources.ApplyResources(Label_FillColor, "Label_FillColor") Label_FillColor.Name = "Label_FillColor" - Label_FillColor.Size = New System.Drawing.Size(157, 13) - Label_FillColor.TabIndex = 21 - Label_FillColor.Text = "Füllfarbe Rechteck oder Ellipse:" ' 'Label_LineColor ' - Label_LineColor.AutoSize = True - Label_LineColor.Location = New System.Drawing.Point(333, 142) + resources.ApplyResources(Label_LineColor, "Label_LineColor") Label_LineColor.Name = "Label_LineColor" - Label_LineColor.Size = New System.Drawing.Size(129, 13) - Label_LineColor.TabIndex = 20 - Label_LineColor.Text = "Farbe Linie oder Rahmen:" ' 'Label_LineWidth ' - Label_LineWidth.AutoSize = True - Label_LineWidth.Location = New System.Drawing.Point(333, 107) + resources.ApplyResources(Label_LineWidth, "Label_LineWidth") Label_LineWidth.Name = "Label_LineWidth" - Label_LineWidth.Size = New System.Drawing.Size(129, 13) - Label_LineWidth.TabIndex = 18 - Label_LineWidth.Text = "Breite Linie oder Rahmen:" ' 'Label_LineModus ' - Label_LineModus.AutoSize = True - Label_LineModus.Location = New System.Drawing.Point(333, 71) + resources.ApplyResources(Label_LineModus, "Label_LineModus") Label_LineModus.Name = "Label_LineModus" - Label_LineModus.Size = New System.Drawing.Size(133, 13) - Label_LineModus.TabIndex = 17 - Label_LineModus.Text = "Startpunkt diagonale Linie:" ' 'Label_ShapeModus ' - Label_ShapeModus.AutoSize = True - Label_ShapeModus.Location = New System.Drawing.Point(333, 34) + resources.ApplyResources(Label_ShapeModus, "Label_ShapeModus") Label_ShapeModus.Name = "Label_ShapeModus" - Label_ShapeModus.Size = New System.Drawing.Size(102, 13) - Label_ShapeModus.TabIndex = 16 - Label_ShapeModus.Text = "anzuzeigende Form:" ' 'PictureBox1 ' PictureBox1.Image = Global.TestApp.My.Resources.Resources.Papa_Schlumpf_08 - PictureBox1.Location = New System.Drawing.Point(12, 12) + resources.ApplyResources(PictureBox1, "PictureBox1") PictureBox1.Name = "PictureBox1" - PictureBox1.Size = New System.Drawing.Size(201, 197) - PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage - PictureBox1.TabIndex = 13 PictureBox1.TabStop = False ' 'Shape1 @@ -106,59 +84,44 @@ Partial Class FormShapeControl Me.Shape1.FillColor = System.Drawing.Color.Gray Me.Shape1.LineColor = System.Drawing.Color.Black Me.Shape1.LineWidth = 2.0! - Me.Shape1.Location = New System.Drawing.Point(125, 95) + resources.ApplyResources(Me.Shape1, "Shape1") Me.Shape1.Name = "Shape1" Me.Shape1.ShapeModus = SchlumpfSoft.Controls.ShapeControl.ShapeModes.HorizontalLine - Me.Shape1.Size = New System.Drawing.Size(154, 147) - Me.Shape1.TabIndex = 24 ' 'Button_FillColor ' - Me.Button_FillColor.Location = New System.Drawing.Point(494, 177) + resources.ApplyResources(Me.Button_FillColor, "Button_FillColor") Me.Button_FillColor.Name = "Button_FillColor" - Me.Button_FillColor.Size = New System.Drawing.Size(128, 20) - Me.Button_FillColor.TabIndex = 23 - Me.Button_FillColor.Text = "Farbe wählen" Me.Button_FillColor.UseVisualStyleBackColor = True ' 'Button_LineColor ' - Me.Button_LineColor.Location = New System.Drawing.Point(494, 142) + resources.ApplyResources(Me.Button_LineColor, "Button_LineColor") Me.Button_LineColor.Name = "Button_LineColor" - Me.Button_LineColor.Size = New System.Drawing.Size(128, 20) - Me.Button_LineColor.TabIndex = 22 - Me.Button_LineColor.Text = "Farbe wählen" Me.Button_LineColor.UseVisualStyleBackColor = True ' 'NumericUpDown_LineWidth ' - Me.NumericUpDown_LineWidth.Location = New System.Drawing.Point(494, 105) + resources.ApplyResources(Me.NumericUpDown_LineWidth, "NumericUpDown_LineWidth") Me.NumericUpDown_LineWidth.Name = "NumericUpDown_LineWidth" - Me.NumericUpDown_LineWidth.Size = New System.Drawing.Size(128, 20) - Me.NumericUpDown_LineWidth.TabIndex = 19 Me.NumericUpDown_LineWidth.Value = New Decimal(New Integer() {1, 0, 0, 0}) ' 'ComboBox_LineModus ' Me.ComboBox_LineModus.FormattingEnabled = True - Me.ComboBox_LineModus.Location = New System.Drawing.Point(494, 68) + resources.ApplyResources(Me.ComboBox_LineModus, "ComboBox_LineModus") Me.ComboBox_LineModus.Name = "ComboBox_LineModus" - Me.ComboBox_LineModus.Size = New System.Drawing.Size(128, 21) - Me.ComboBox_LineModus.TabIndex = 15 ' 'ComboBox_ShapeModus ' Me.ComboBox_ShapeModus.FormattingEnabled = True - Me.ComboBox_ShapeModus.Location = New System.Drawing.Point(494, 31) + resources.ApplyResources(Me.ComboBox_ShapeModus, "ComboBox_ShapeModus") Me.ComboBox_ShapeModus.Name = "ComboBox_ShapeModus" - Me.ComboBox_ShapeModus.Size = New System.Drawing.Size(128, 21) - Me.ComboBox_ShapeModus.TabIndex = 14 ' 'FormShapeControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(637, 312) Me.Controls.Add(Me.Shape1) Me.Controls.Add(Me.Button_FillColor) Me.Controls.Add(Me.Button_LineColor) @@ -175,8 +138,6 @@ Partial Class FormShapeControl Me.MaximizeBox = False Me.MinimizeBox = False Me.Name = "FormShapeControl" - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "Shape - Control - Test" CType(PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.NumericUpDown_LineWidth, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) diff --git a/TestApp/FormShapeControl.en-US.resx b/TestApp/FormShapeControl.en-US.resx new file mode 100644 index 0000000..7791ac8 --- /dev/null +++ b/TestApp/FormShapeControl.en-US.resx @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill color rectangle or ellipse: + + + Color line or frame: + + + Wide line or frame: + + + Starting point diagonal line: + + + form to be displayed: + + + Choose color + + + Choose color + + + Shape - Control - test + + \ No newline at end of file diff --git a/TestApp/FormShapeControl.resx b/TestApp/FormShapeControl.resx index df8eb4e..f72980f 100644 --- a/TestApp/FormShapeControl.resx +++ b/TestApp/FormShapeControl.resx @@ -120,22 +120,346 @@ False + + + True + + + + 333, 177 + + + 157, 13 + + + 21 + + + Füllfarbe Rechteck oder Ellipse: + + + Label_FillColor + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + False + + True + + + 333, 142 + + + 129, 13 + + + 20 + + + Farbe Linie oder Rahmen: + + + Label_LineColor + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 + False + + True + + + 333, 107 + + + 129, 13 + + + 18 + + + Breite Linie oder Rahmen: + + + Label_LineWidth + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 6 + False + + True + + + 333, 71 + + + 133, 13 + + + 17 + + + Startpunkt diagonale Linie: + + + Label_LineModus + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 7 + False + + True + + + 333, 34 + + + 102, 13 + + + 16 + + + anzuzeigende Form: + + + Label_ShapeModus + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 8 + False + + 12, 12 + + + 201, 197 + + + + StretchImage + + + 13 + + + PictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 11 + + + 125, 95 + + + 154, 147 + + + 24 + + + Shape1 + + + SchlumpfSoft.Controls.ShapeControl.Shape, ShapeControl, Version=2.2024.19.7, Culture=neutral, PublicKeyToken=null + + + $this + + + 0 + + + 494, 177 + + + 128, 20 + + + 23 + + + Farbe wählen + + + Button_FillColor + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + 494, 142 + + + 128, 20 + + + 22 + + + Farbe wählen + + + Button_LineColor + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + + + 494, 105 + + + 128, 20 + + + 19 + + + NumericUpDown_LineWidth + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + + + 494, 68 + + + 128, 21 + + + 15 + + + ComboBox_LineModus + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 9 + + + 494, 31 + + + 128, 21 + + + 14 + + + ComboBox_ShapeModus + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 10 + 17, 17 + + True + + + en-US + + + 6, 13 + + + 637, 312 + + + CenterParent + + + Shape - Control - Test + + + ColorDialog + + + System.Windows.Forms.ColorDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + FormShapeControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormShapeControl.vb b/TestApp/FormShapeControl.vb index 7112f10..f48c57f 100644 --- a/TestApp/FormShapeControl.vb +++ b/TestApp/FormShapeControl.vb @@ -5,18 +5,33 @@ ' -Public Class FormShapeControl +Imports System.Globalization +Imports System.Threading +Imports SchlumpfSoft.Controls.ShapeControl + +Public Class FormShapeControl - Private _ShapeModusItems() As String = - {$"horizontale Linie", $"vertikale Linie", $"diagonale Linie", $"Rechteck", $"gefülltes Rechteck", $"Ellipse", $"gefüllte Ellipse"} - Private _LineModusItems() As String = - {$"links oben", $"links unten"} + Private _ShapeModusItems() As String = { + My.Resources.Shape_ModusItem1, + My.Resources.Shape_ModusItem2, + My.Resources.Shape_ModusItem3, + My.Resources.Shape_ModusItem4, + My.Resources.Shape_ModusItem5, + My.Resources.Shape_ModusItem6, + My.Resources.Shape_ModusItem7} + Private _LineModusItems() As String = { + My.Resources.Shape_LineModusItem1, + My.Resources.Shape_LineModusItem2} Public Sub New() + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + 'Dieser Aufruf ist für den Designer erforderlich. Me.InitializeComponent() @@ -85,13 +100,9 @@ Public Class FormShapeControl ComboBox_LineModus.SelectedIndexChanged 'Verlauf der diagonalen Linie schalten - Dim selindex As Integer = CType( - sender, - ComboBox).SelectedIndex + Dim selindex As Integer = CType(sender, ComboBox).SelectedIndex - Me.Shape1.DiagonalLineModus = CType( - selindex, - SchlumpfSoft.Controls.ShapeControl.DiagonalLineModes) + Me.Shape1.DiagonalLineModus = CType(selindex, DiagonalLineModes) End Sub @@ -129,9 +140,7 @@ Public Class FormShapeControl End Select 'ausgewählte Form umschalten - Me.Shape1.ShapeModus = CType( - selindex, - SchlumpfSoft.Controls.ShapeControl.ShapeModes) + Me.Shape1.ShapeModus = CType(selindex, ShapeModes) End Sub diff --git a/TestApp/FormTransparentLabelControl.Designer.vb b/TestApp/FormTransparentLabelControl.Designer.vb index 3287d1f..58aa629 100644 --- a/TestApp/FormTransparentLabelControl.Designer.vb +++ b/TestApp/FormTransparentLabelControl.Designer.vb @@ -32,28 +32,21 @@ Partial Class FormTransparentLabelControl ' Me.TransparentLabel1.BackColor = System.Drawing.SystemColors.Control Me.TransparentLabel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TransparentLabel1.Location = New System.Drawing.Point(73, 9) + resources.ApplyResources(Me.TransparentLabel1, "TransparentLabel1") Me.TransparentLabel1.Name = "TransparentLabel1" - Me.TransparentLabel1.Size = New System.Drawing.Size(266, 143) - Me.TransparentLabel1.TabIndex = 5 - Me.TransparentLabel1.Text = resources.GetString("TransparentLabel1.Text") ' 'PictureBox1 ' Me.PictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.PictureBox1.Image = Global.TestApp.My.Resources.Resources.Papa_Schlumpf_08 - Me.PictureBox1.Location = New System.Drawing.Point(12, 73) + resources.ApplyResources(Me.PictureBox1, "PictureBox1") Me.PictureBox1.Name = "PictureBox1" - Me.PictureBox1.Size = New System.Drawing.Size(176, 168) - Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage - Me.PictureBox1.TabIndex = 4 Me.PictureBox1.TabStop = False ' 'FormTransparentLabelControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(355, 256) Me.Controls.Add(Me.TransparentLabel1) Me.Controls.Add(Me.PictureBox1) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog @@ -62,8 +55,6 @@ Partial Class FormTransparentLabelControl Me.Name = "FormTransparentLabelControl" Me.ShowIcon = False Me.ShowInTaskbar = False - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "TransparentLabel - Control - Test" CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) diff --git a/TestApp/FormTransparentLabelControl.en-US.resx b/TestApp/FormTransparentLabelControl.en-US.resx new file mode 100644 index 0000000..41623c8 --- /dev/null +++ b/TestApp/FormTransparentLabelControl.en-US.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Transparent label1 + +The idea behind this project is, e.g. partly a text about a picture +to put yourself over without great thoughts +To make graphics routines. + +With this control this is done in a few lines of code or in +Clicked designers. + + + Transparent label - Control test + + \ No newline at end of file diff --git a/TestApp/FormTransparentLabelControl.resx b/TestApp/FormTransparentLabelControl.resx index 862ff4b..5f29185 100644 --- a/TestApp/FormTransparentLabelControl.resx +++ b/TestApp/FormTransparentLabelControl.resx @@ -117,6 +117,17 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 73, 9 + + + 266, 143 + + + + 5 + TransparentLabel1 @@ -127,4 +138,65 @@ Grafikroutinen zu machen. Mit diesem Control ist das in wenigen Zeilen Code erledigt bzw. im Designer zusammengeklickt. + + TransparentLabel1 + + + Schlumpfsoft.TransparentLabelControl.TransparentLabel, TransparentLabelControl, Version=2.2024.21.7, Culture=neutral, PublicKeyToken=null + + + $this + + + 0 + + + 12, 73 + + + 176, 168 + + + + StretchImage + + + 4 + + + PictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + True + + + en-US + + + 6, 13 + + + 355, 256 + + + CenterParent + + + TransparentLabel - Control - Test + + + FormTransparentLabelControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormTransparentLabelControl.vb b/TestApp/FormTransparentLabelControl.vb index f7a46d6..4fd1418 100644 --- a/TestApp/FormTransparentLabelControl.vb +++ b/TestApp/FormTransparentLabelControl.vb @@ -5,11 +5,24 @@ ' +Imports System.Globalization +Imports System.Threading + Public Class FormTransparentLabelControl + Public Sub New() + + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + End Sub End Class diff --git a/TestApp/FormWizardControl.Designer.vb b/TestApp/FormWizardControl.Designer.vb index 8537bb2..635f061 100644 --- a/TestApp/FormWizardControl.Designer.vb +++ b/TestApp/FormWizardControl.Designer.vb @@ -28,9 +28,9 @@ Partial Class FormWizardControl Me.Wizard1 = New SchlumpfSoft.Controls.WizardControl.Wizard() Me.PageFinish = New SchlumpfSoft.Controls.WizardControl.PageFinish() Me.MonthCalendar1 = New System.Windows.Forms.MonthCalendar() + Me.PageCustom = New SchlumpfSoft.Controls.WizardControl.PageCustom() Me.PageStandard = New SchlumpfSoft.Controls.WizardControl.PageStandard() Me.DateTimePicker = New System.Windows.Forms.DateTimePicker() - Me.PageCustom = New SchlumpfSoft.Controls.WizardControl.PageCustom() Me.PageWelcome.SuspendLayout() Me.Wizard1.SuspendLayout() Me.PageFinish.SuspendLayout() @@ -41,36 +41,29 @@ Partial Class FormWizardControl ' Me.PageWelcome.Controls.Add(Me.Label1) Me.PageWelcome.Description = "Willkommensseite" - Me.PageWelcome.Location = New System.Drawing.Point(0, 0) + resources.ApplyResources(Me.PageWelcome, "PageWelcome") Me.PageWelcome.Name = "PageWelcome" - Me.PageWelcome.Size = New System.Drawing.Size(529, 278) - Me.PageWelcome.TabIndex = 10 Me.PageWelcome.Title = "Willkommen" ' 'Label1 ' Me.Label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.Label1.Location = New System.Drawing.Point(175, 76) + resources.ApplyResources(Me.Label1, "Label1") Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(338, 172) - Me.Label1.TabIndex = 0 - Me.Label1.Text = "Beschreibung für diese Seite." & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Ende der Beschreibung" ' 'Wizard1 ' Me.Wizard1.Controls.Add(Me.PageWelcome) Me.Wizard1.Controls.Add(Me.PageStandard) - Me.Wizard1.Controls.Add(Me.PageCustom) Me.Wizard1.Controls.Add(Me.PageFinish) + Me.Wizard1.Controls.Add(Me.PageCustom) Me.Wizard1.HeaderFont = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Wizard1.HeaderTitleFont = New System.Drawing.Font("Microsoft Sans Serif", 10.25!, System.Drawing.FontStyle.Bold) Me.Wizard1.ImageHeader = CType(resources.GetObject("Wizard1.ImageHeader"), System.Drawing.Image) Me.Wizard1.ImageWelcome = CType(resources.GetObject("Wizard1.ImageWelcome"), System.Drawing.Image) - Me.Wizard1.Location = New System.Drawing.Point(0, 0) + resources.ApplyResources(Me.Wizard1, "Wizard1") Me.Wizard1.Name = "Wizard1" Me.Wizard1.Pages.AddRange(New SchlumpfSoft.Controls.WizardControl.WizardPage() {Me.PageWelcome, Me.PageStandard, Me.PageCustom, Me.PageFinish}) - Me.Wizard1.Size = New System.Drawing.Size(529, 326) - Me.Wizard1.TabIndex = 1 Me.Wizard1.WelcomeFont = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Wizard1.WelcomeTitleFont = New System.Drawing.Font("Microsoft Sans Serif", 18.25!, System.Drawing.FontStyle.Bold) ' @@ -78,49 +71,39 @@ Partial Class FormWizardControl ' Me.PageFinish.Controls.Add(Me.MonthCalendar1) Me.PageFinish.Description = "Abschlußseite" - Me.PageFinish.Location = New System.Drawing.Point(0, 0) + resources.ApplyResources(Me.PageFinish, "PageFinish") Me.PageFinish.Name = "PageFinish" - Me.PageFinish.Size = New System.Drawing.Size(529, 278) - Me.PageFinish.TabIndex = 13 Me.PageFinish.Title = "letzte Seite" ' 'MonthCalendar1 ' - Me.MonthCalendar1.Location = New System.Drawing.Point(235, 81) + resources.ApplyResources(Me.MonthCalendar1, "MonthCalendar1") Me.MonthCalendar1.Name = "MonthCalendar1" - Me.MonthCalendar1.TabIndex = 0 + ' + 'PageCustom + ' + Me.PageCustom.Description = "keine Beschreibung" + resources.ApplyResources(Me.PageCustom, "PageCustom") + Me.PageCustom.Name = "PageCustom" + Me.PageCustom.Title = "kein Titel" ' 'PageStandard ' Me.PageStandard.Controls.Add(Me.DateTimePicker) Me.PageStandard.Description = "Standardseite" - Me.PageStandard.Location = New System.Drawing.Point(0, 0) + resources.ApplyResources(Me.PageStandard, "PageStandard") Me.PageStandard.Name = "PageStandard" - Me.PageStandard.Size = New System.Drawing.Size(529, 278) - Me.PageStandard.TabIndex = 11 Me.PageStandard.Title = "Seite 1" ' 'DateTimePicker ' - Me.DateTimePicker.Location = New System.Drawing.Point(63, 103) + resources.ApplyResources(Me.DateTimePicker, "DateTimePicker") Me.DateTimePicker.Name = "DateTimePicker" - Me.DateTimePicker.Size = New System.Drawing.Size(257, 20) - Me.DateTimePicker.TabIndex = 0 - ' - 'PageCustom - ' - Me.PageCustom.Description = "keine Beschreibung" - Me.PageCustom.Location = New System.Drawing.Point(0, 0) - Me.PageCustom.Name = "PageCustom" - Me.PageCustom.Size = New System.Drawing.Size(529, 278) - Me.PageCustom.TabIndex = 12 - Me.PageCustom.Title = "kein Titel" ' 'FormWizardControl ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + resources.ApplyResources(Me, "$this") Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(529, 326) Me.Controls.Add(Me.Wizard1) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog Me.MaximizeBox = False @@ -128,8 +111,6 @@ Partial Class FormWizardControl Me.Name = "FormWizardControl" Me.ShowIcon = False Me.ShowInTaskbar = False - Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent - Me.Text = "Wizard - Control - Test" Me.PageWelcome.ResumeLayout(False) Me.Wizard1.ResumeLayout(False) Me.PageFinish.ResumeLayout(False) diff --git a/TestApp/FormWizardControl.en-US.resx b/TestApp/FormWizardControl.en-US.resx new file mode 100644 index 0000000..ac5aa09 --- /dev/null +++ b/TestApp/FormWizardControl.en-US.resx @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Description for this page. + + + +End of the description + + + Wizard - Control - test + + \ No newline at end of file diff --git a/TestApp/FormWizardControl.resx b/TestApp/FormWizardControl.resx index e3be887..94e3e35 100644 --- a/TestApp/FormWizardControl.resx +++ b/TestApp/FormWizardControl.resx @@ -118,6 +118,158 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 175, 76 + + + 338, 172 + + + + 0 + + + Beschreibung für diese Seite. + + + +Ende der Beschreibung + + + Label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PageWelcome + + + 0 + + + 0, 0 + + + 529, 278 + + + 10 + + + PageWelcome + + + SchlumpfSoft.Controls.WizardControl.PageWelcome, WizardControl, Version=2.2024.22.7, Culture=neutral, PublicKeyToken=null + + + Wizard1 + + + 0 + + + 63, 103 + + + 257, 20 + + + 0 + + + DateTimePicker + + + System.Windows.Forms.DateTimePicker, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PageStandard + + + 0 + + + 0, 0 + + + 529, 278 + + + 11 + + + PageStandard + + + SchlumpfSoft.Controls.WizardControl.PageStandard, WizardControl, Version=2.2024.22.7, Culture=neutral, PublicKeyToken=null + + + Wizard1 + + + 1 + + + 235, 81 + + + 0 + + + MonthCalendar1 + + + System.Windows.Forms.MonthCalendar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PageFinish + + + 0 + + + 0, 0 + + + 529, 278 + + + 13 + + + PageFinish + + + SchlumpfSoft.Controls.WizardControl.PageFinish, WizardControl, Version=2.2024.22.7, Culture=neutral, PublicKeyToken=null + + + Wizard1 + + + 2 + + + 0, 0 + + + 529, 278 + + + 12 + + + PageCustom + + + SchlumpfSoft.Controls.WizardControl.PageCustom, WizardControl, Version=2.2024.22.7, Culture=neutral, PublicKeyToken=null + + + Wizard1 + + + 7 + /9j/4AAQSkZJRgABAQEAxgDGAAD/4QBCRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAAB @@ -2198,4 +2350,50 @@ QoEHAm4RImilhhKWAwrAeDqr6KJwJDSQURQji27joCSYmBQo79g6ARTB7uhPR/7+/wCb/9k= + + 0, 0 + + + 529, 326 + + + 1 + + + Wizard1 + + + SchlumpfSoft.Controls.WizardControl.Wizard, WizardControl, Version=2.2024.22.7, Culture=neutral, PublicKeyToken=null + + + $this + + + 0 + + + en-US + + + True + + + 6, 13 + + + 529, 326 + + + + CenterParent + + + Wizard - Control - Test + + + FormWizardControl + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/TestApp/FormWizardControl.vb b/TestApp/FormWizardControl.vb index b098e3e..85d9088 100644 --- a/TestApp/FormWizardControl.vb +++ b/TestApp/FormWizardControl.vb @@ -4,19 +4,37 @@ ' **************************************************************************************************************** ' +Imports SchlumpfSoft.Controls.WizardControl + +Imports System.Globalization +Imports System.Threading + Public Class FormWizardControl + Public Sub New() + + 'Zuletzt verwendete Sprache einstellen + Thread.CurrentThread.CurrentCulture = New CultureInfo(My.Settings.LangCode) + Thread.CurrentThread.CurrentUICulture = New CultureInfo(My.Settings.LangCode) + + ' Dieser Aufruf ist für den Designer erforderlich. + Me.InitializeComponent() + + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. + + End Sub + Private Sub Wizard1_BeforeSwitchPages( sender As Object, - e As SchlumpfSoft.Controls.WizardControl.BeforeSwitchPagesEventArgs) Handles _ + e As BeforeSwitchPagesEventArgs) Handles _ Wizard1.BeforeSwitchPages Dim unused = MessageBox.Show( Me, - $"neuer Index: {e.NewIndex} / alter Index: {e.OldIndex}", - $"Vor dem Seitenwechsel", + String.Format(My.Resources.Wizard_NeuerIndex0AlterIndex1, e.NewIndex, e.OldIndex), + String.Format(My.Resources.Wizard_VorDemSeitenwechsel), MessageBoxButtons.OK, MessageBoxIcon.Information) @@ -25,13 +43,13 @@ Public Class FormWizardControl Private Sub Wizard1_AfterSwitchPages( sender As Object, - e As SchlumpfSoft.Controls.WizardControl.AfterSwitchPagesEventArgs) Handles _ + e As AfterSwitchPagesEventArgs) Handles _ Wizard1.AfterSwitchPages Dim unused = MessageBox.Show( Me, - $"neuer Index: {e.NewIndex} / alter Index: {e.OldIndex}", - $"Nach dem Seitenwechsel", + String.Format(My.Resources.Wizard_NeuerIndex0AlterIndex1, e.NewIndex, e.OldIndex), + String.Format(My.Resources.Wizard_NachDemSeitenwechsel), MessageBoxButtons.OK, MessageBoxIcon.Information) @@ -43,12 +61,10 @@ Public Class FormWizardControl e As System.ComponentModel.CancelEventArgs) Handles _ Wizard1.Cancel - Debug.Print($"CancelEventArgs: {e.Cancel}") - Dim unused = MessageBox.Show( Me, - $"Sie haben den Assistenten abgebrochen.", - $"Aktion abgebrochen", + String.Format(My.Resources.Wizard_AssistentenAbgebrochen), + String.Format(My.Resources.Wizard_AktionAbgebrochen), MessageBoxButtons.OK, MessageBoxIcon.Information) @@ -62,8 +78,8 @@ Public Class FormWizardControl Dim unused = MessageBox.Show( Me, - $"Sie haben den Assistente abgeschlossen.", - $"Aktion abgeschlossen", + String.Format(My.Resources.Wizard_AssistenteAbgeschlossen), + String.Format(My.Resources.Wizard_AktionAbgeschlossen), MessageBoxButtons.OK, MessageBoxIcon.Information) @@ -75,17 +91,12 @@ Public Class FormWizardControl e As EventArgs) Handles _ Wizard1.Help - Dim pageindex As Integer = CType( - sender, - SchlumpfSoft.Controls.WizardControl.Wizard).Pages.IndexOf( - CType( - sender, - SchlumpfSoft.Controls.WizardControl.Wizard).SelectedPage) + 1 + Dim pageindex As Integer = CType(sender, Wizard).Pages.IndexOf(CType(sender, Wizard).SelectedPage) + 1 Dim unused = MessageBox.Show( Me, - $"Die Hilfe für die Seite {pageindex} des Assistenten.", - $"Hilfe", + String.Format(My.Resources.Wizard_DieHilfeFürDieSeite0DesAssistenten, pageindex), + String.Format(My.Resources.Wizard_Hilfe), MessageBoxButtons.OK, MessageBoxIcon.Question) diff --git a/TestApp/My Project/AssemblyInfo.vb b/TestApp/My Project/AssemblyInfo.vb index 3317ee8..c59c8f0 100644 --- a/TestApp/My Project/AssemblyInfo.vb +++ b/TestApp/My Project/AssemblyInfo.vb @@ -1,4 +1,5 @@ -Imports System +Imports System.Resources +Imports System Imports System.Reflection Imports System.Runtime.InteropServices @@ -33,3 +34,4 @@ Imports System.Runtime.InteropServices + diff --git a/TestApp/My Project/Resources.Designer.vb b/TestApp/My Project/Resources.Designer.vb index 938a8a8..4a8032b 100644 --- a/TestApp/My Project/Resources.Designer.vb +++ b/TestApp/My Project/Resources.Designer.vb @@ -260,6 +260,276 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Normal ähnelt. + ''' + Friend ReadOnly Property AnimationComboBoxItem1() As String + Get + Return ResourceManager.GetString("AnimationComboBoxItem1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Zentriert ähnelt. + ''' + Friend ReadOnly Property AnimationComboBoxItem2() As String + Get + Return ResourceManager.GetString("AnimationComboBoxItem2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Zoom ähnelt. + ''' + Friend ReadOnly Property AnimationComboBoxItem3() As String + Get + Return ResourceManager.GetString("AnimationComboBoxItem3", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Gefüllt ähnelt. + ''' + Friend ReadOnly Property AnimationComboBoxItem4() As String + Get + Return ResourceManager.GetString("AnimationComboBoxItem4", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Animation Nr.: {0} ähnelt. + ''' + Friend ReadOnly Property AnimationNumberText() As String + Get + Return ResourceManager.GetString("AnimationNumberText", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Standardanimation ähnelt. + ''' + Friend ReadOnly Property AnimationStandardText() As String + Get + Return ResourceManager.GetString("AnimationStandardText", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Das Laufwerk {0} wurde hinzugefügt. ähnelt. + ''' + Friend ReadOnly Property DriveWatcherMsgLine1() As String + Get + Return ResourceManager.GetString("DriveWatcherMsgLine1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Der Datenträger hat die Bezeichnung {0} und ist vom Typ {1}. ähnelt. + ''' + Friend ReadOnly Property DriveWatcherMsgLine2() As String + Get + Return ResourceManager.GetString("DriveWatcherMsgLine2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Das Format ist {0} und der gesamte Speicherplatz beträgt {1} Bytes. ähnelt. + ''' + Friend ReadOnly Property DriveWatcherMsgLine3() As String + Get + Return ResourceManager.GetString("DriveWatcherMsgLine3", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Das Laufwerk ist bereit und der freie Speicherplatz beträgt {0} Bytes. ähnelt. + ''' + Friend ReadOnly Property DriveWatcherMsgLine4() As String + Get + Return ResourceManager.GetString("DriveWatcherMsgLine4", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Das Laufwerk ist nicht bereit ähnelt. + ''' + Friend ReadOnly Property DriveWatcherMsgLine5() As String + Get + Return ResourceManager.GetString("DriveWatcherMsgLine5", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Das Laufwerk {0} wurde entfernt. ähnelt. + ''' + Friend ReadOnly Property DriveWatcherMsgLine6() As String + Get + Return ResourceManager.GetString("DriveWatcherMsgLine6", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Dateiinhalt: ähnelt. + ''' + Friend ReadOnly Property IniFile_ContentViewTitle() As String + Get + Return ResourceManager.GetString("IniFile_ContentViewTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Eintragsliste: ähnelt. + ''' + Friend ReadOnly Property IniFile_EntrysListEditTitle() As String + Get + Return ResourceManager.GetString("IniFile_EntrysListEditTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Eintragswert: ähnelt. + ''' + Friend ReadOnly Property IniFile_EntryValueEditTitle() As String + Get + Return ResourceManager.GetString("IniFile_EntryValueEditTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Dateikommentar: ähnelt. + ''' + Friend ReadOnly Property IniFile_FileCommentEditTitle() As String + Get + Return ResourceManager.GetString("IniFile_FileCommentEditTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die INI - Dateien (*.ini)|*.ini ähnelt. + ''' + Friend ReadOnly Property IniFile_FileDialogFilter() As String + Get + Return ResourceManager.GetString("IniFile_FileDialogFilter", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die INI - Datei öffnen ähnelt. + ''' + Friend ReadOnly Property IniFile_OpenFileDialogTitle() As String + Get + Return ResourceManager.GetString("IniFile_OpenFileDialogTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die INI - Datei speichern unter ähnelt. + ''' + Friend ReadOnly Property IniFile_SaveFileDialogTitle() As String + Get + Return ResourceManager.GetString("IniFile_SaveFileDialogTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Abschnittskommentar: ähnelt. + ''' + Friend ReadOnly Property IniFile_SectionsCommentEditTitle() As String + Get + Return ResourceManager.GetString("IniFile_SectionsCommentEditTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Abschnittsliste: ähnelt. + ''' + Friend ReadOnly Property IniFile_SectionsListEditTitle() As String + Get + Return ResourceManager.GetString("IniFile_SectionsListEditTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Das Bild kann nicht animiert werden. ähnelt. + ''' + Friend ReadOnly Property NoAnimationMsg() As String + Get + Return ResourceManager.GetString("NoAnimationMsg", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Keine Animation ähnelt. + ''' + Friend ReadOnly Property NoAnimationTitle() As String + Get + Return ResourceManager.GetString("NoAnimationTitle", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Hell ähnelt. + ''' + Friend ReadOnly Property NotifyForm_ComboBoxDesignItem1() As String + Get + Return ResourceManager.GetString("NotifyForm_ComboBoxDesignItem1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Farbig ähnelt. + ''' + Friend ReadOnly Property NotifyForm_ComboBoxDesignItem2() As String + Get + Return ResourceManager.GetString("NotifyForm_ComboBoxDesignItem2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Dunkel ähnelt. + ''' + Friend ReadOnly Property NotifyForm_ComboBoxDesignItem3() As String + Get + Return ResourceManager.GetString("NotifyForm_ComboBoxDesignItem3", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Infosymbol ähnelt. + ''' + Friend ReadOnly Property NotifyForm_ComboBoxStylesItem1() As String + Get + Return ResourceManager.GetString("NotifyForm_ComboBoxStylesItem1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Fragesymbol ähnelt. + ''' + Friend ReadOnly Property NotifyForm_ComboBoxStylesItem2() As String + Get + Return ResourceManager.GetString("NotifyForm_ComboBoxStylesItem2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Fehlersymbol ähnelt. + ''' + Friend ReadOnly Property NotifyForm_ComboBoxStylesItem3() As String + Get + Return ResourceManager.GetString("NotifyForm_ComboBoxStylesItem3", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Hinweissymbol ähnelt. + ''' + Friend ReadOnly Property NotifyForm_ComboBoxStylesItem4() As String + Get + Return ResourceManager.GetString("NotifyForm_ComboBoxStylesItem4", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -269,5 +539,167 @@ Namespace My.Resources Return CType(obj,System.Drawing.Bitmap) End Get End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die links oben ähnelt. + ''' + Friend ReadOnly Property Shape_LineModusItem1() As String + Get + Return ResourceManager.GetString("Shape_LineModusItem1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die links unten ähnelt. + ''' + Friend ReadOnly Property Shape_LineModusItem2() As String + Get + Return ResourceManager.GetString("Shape_LineModusItem2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die horizontale Linie ähnelt. + ''' + Friend ReadOnly Property Shape_ModusItem1() As String + Get + Return ResourceManager.GetString("Shape_ModusItem1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die vertikale Linie ähnelt. + ''' + Friend ReadOnly Property Shape_ModusItem2() As String + Get + Return ResourceManager.GetString("Shape_ModusItem2", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die diagonale Linie ähnelt. + ''' + Friend ReadOnly Property Shape_ModusItem3() As String + Get + Return ResourceManager.GetString("Shape_ModusItem3", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Rechteck ähnelt. + ''' + Friend ReadOnly Property Shape_ModusItem4() As String + Get + Return ResourceManager.GetString("Shape_ModusItem4", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die gefülltes Rechteck ähnelt. + ''' + Friend ReadOnly Property Shape_ModusItem5() As String + Get + Return ResourceManager.GetString("Shape_ModusItem5", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ellipse ähnelt. + ''' + Friend ReadOnly Property Shape_ModusItem6() As String + Get + Return ResourceManager.GetString("Shape_ModusItem6", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die gefüllte Ellipse ähnelt. + ''' + Friend ReadOnly Property Shape_ModusItem7() As String + Get + Return ResourceManager.GetString("Shape_ModusItem7", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Aktion abgebrochen ähnelt. + ''' + Friend ReadOnly Property Wizard_AktionAbgebrochen() As String + Get + Return ResourceManager.GetString("Wizard_AktionAbgebrochen", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Aktion abgeschlossen ähnelt. + ''' + Friend ReadOnly Property Wizard_AktionAbgeschlossen() As String + Get + Return ResourceManager.GetString("Wizard_AktionAbgeschlossen", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Sie haben den Assistente abgeschlossen. ähnelt. + ''' + Friend ReadOnly Property Wizard_AssistenteAbgeschlossen() As String + Get + Return ResourceManager.GetString("Wizard_AssistenteAbgeschlossen", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Sie haben den Assistenten abgebrochen. ähnelt. + ''' + Friend ReadOnly Property Wizard_AssistentenAbgebrochen() As String + Get + Return ResourceManager.GetString("Wizard_AssistentenAbgebrochen", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Die Hilfe für die Seite {0} des Assistenten. ähnelt. + ''' + Friend ReadOnly Property Wizard_DieHilfeFürDieSeite0DesAssistenten() As String + Get + Return ResourceManager.GetString("Wizard_DieHilfeFürDieSeite0DesAssistenten", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Hilfe ähnelt. + ''' + Friend ReadOnly Property Wizard_Hilfe() As String + Get + Return ResourceManager.GetString("Wizard_Hilfe", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Nach dem Seitenwechsel ähnelt. + ''' + Friend ReadOnly Property Wizard_NachDemSeitenwechsel() As String + Get + Return ResourceManager.GetString("Wizard_NachDemSeitenwechsel", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die neuer Index: {0} / alter Index: {1} ähnelt. + ''' + Friend ReadOnly Property Wizard_NeuerIndex0AlterIndex1() As String + Get + Return ResourceManager.GetString("Wizard_NeuerIndex0AlterIndex1", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Vor dem Seitenwechsel ähnelt. + ''' + Friend ReadOnly Property Wizard_VorDemSeitenwechsel() As String + Get + Return ResourceManager.GetString("Wizard_VorDemSeitenwechsel", resourceCulture) + End Get + End Property End Module End Namespace diff --git a/TestApp/My Project/Resources.en-US.resx b/TestApp/My Project/Resources.en-US.resx new file mode 100644 index 0000000..e94a4f3 --- /dev/null +++ b/TestApp/My Project/Resources.en-US.resx @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Animation No.: {0} + + + Standard animation + + + The picture cannot be animated. + + + No animation + + + The drive {0} has been added. + + + The data carrier has the designation {0} and is of type {1}. + + + The format is {0} and the entire storage space is {1} bytes. + + + The drive is ready and the free space is {0} bytes. + + + The drive is not ready + + + The drive {0} was removed. + + + Indicative symbol + + + Normal + + + Centered + + + zoom + + + Filled + + + Bright + + + Colored + + + Dark + + + Information symbol + + + Question symbol + + + Error symbol + + + on the top left + + + at the bottom left + + + horizontal line + + + vertical line + + + diagonal line + + + rectangle + + + Filled rectangle + + + ellipse + + + filled ellipse + + + New index: {0} / old index: {1} + + + Before the change of sides + + + After the change of sides + + + You broke off the assistant. + + + You have completed the assistant. + + + Action canceled + + + Action completed + + + Help + + + The help for the assistant's page {0}. + + + File content: + + + File commentary: + + + Entry list: + + + Entry value: + + + Section comment: + + + Section list: + + + Open ini file + + + Save ini file under + + + Ini - files (*.ini) |*.ini + + \ No newline at end of file diff --git a/TestApp/My Project/Resources.resx b/TestApp/My Project/Resources.resx index 3daf742..50b490b 100644 --- a/TestApp/My Project/Resources.resx +++ b/TestApp/My Project/Resources.resx @@ -178,7 +178,151 @@ ..\Resources\Anim119.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Normal + + + Zentriert + + + Zoom + + + Gefüllt + + + Animation Nr.: {0} + + + Standardanimation + + + Das Laufwerk {0} wurde hinzugefügt. + + + Der Datenträger hat die Bezeichnung {0} und ist vom Typ {1}. + + + Das Format ist {0} und der gesamte Speicherplatz beträgt {1} Bytes. + + + Das Laufwerk ist bereit und der freie Speicherplatz beträgt {0} Bytes. + + + Das Laufwerk ist nicht bereit + + + Das Laufwerk {0} wurde entfernt. + + + Das Bild kann nicht animiert werden. + + + Keine Animation + + + Hell + + + Farbig + + + Dunkel + + + Infosymbol + + + Fragesymbol + + + Fehlersymbol + + + Hinweissymbol + ..\Resources\Papa Schlumpf 08.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + links oben + + + links unten + + + horizontale Linie + + + vertikale Linie + + + diagonale Linie + + + Rechteck + + + gefülltes Rechteck + + + Ellipse + + + gefüllte Ellipse + + + neuer Index: {0} / alter Index: {1} + + + Vor dem Seitenwechsel + + + Nach dem Seitenwechsel + + + Sie haben den Assistenten abgebrochen. + + + Sie haben den Assistente abgeschlossen. + + + Aktion abgebrochen + + + Aktion abgeschlossen + + + Die Hilfe für die Seite {0} des Assistenten. + + + Hilfe + + + Dateiinhalt: + + + Eintragsliste: + + + Eintragswert: + + + Dateikommentar: + + + Abschnittskommentar: + + + Abschnittsliste: + + + INI - Dateien (*.ini)|*.ini + + + INI - Datei öffnen + + + INI - Datei speichern unter + \ No newline at end of file diff --git a/TestApp/My Project/Settings.Designer.vb b/TestApp/My Project/Settings.Designer.vb index 01577e2..3f5a09f 100644 --- a/TestApp/My Project/Settings.Designer.vb +++ b/TestApp/My Project/Settings.Designer.vb @@ -1,10 +1,10 @@ '------------------------------------------------------------------------------ ' -' This code was generated by a tool. -' Runtime Version:4.0.30319.42000 +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 ' -' Changes to this file may cause incorrect behavior and will be lost if -' the code is regenerated. +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. ' '------------------------------------------------------------------------------ @@ -13,45 +13,35 @@ Option Explicit On Namespace My - - - + + _ Partial Friend NotInheritable Class MySettings - - Inherits Global.System.Configuration.ApplicationSettingsBase - - - Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) - - -#Region "My.Settings Auto-Save Functionality" - - + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Automatische My.Settings-Speicherfunktion" #If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean - Private Shared addedHandler As Boolean - - Private Shared addedHandlerLockObject As New Object - - - Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) - If My.Application.SaveMySettingsOnExit Then - My.Settings.Save() - End If - End Sub + Private Shared addedHandlerLockObject As New Object + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub #End If - #End Region - + Public Shared ReadOnly Property [Default]() As MySettings Get - + #If _MyType = "WindowsForms" Then - If Not addedHandler Then + If Not addedHandler Then SyncLock addedHandlerLockObject If Not addedHandler Then AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings @@ -63,29 +53,33 @@ Namespace My Return defaultInstance End Get End Property + + _ + Public Property LangCode() As String + Get + Return CType(Me("LangCode"),String) + End Get + Set + Me("LangCode") = value + End Set + End Property End Class - - End Namespace Namespace My - - - + + _ Friend Module MySettingsProperty - - - + + _ Friend ReadOnly Property Settings() As Global.TestApp.My.MySettings Get Return Global.TestApp.My.MySettings.Default End Get End Property - - End Module - - End Namespace diff --git a/TestApp/My Project/Settings.settings b/TestApp/My Project/Settings.settings index 85b890b..4cfaba6 100644 --- a/TestApp/My Project/Settings.settings +++ b/TestApp/My Project/Settings.settings @@ -1,7 +1,9 @@  - - - - - - + + + + + de-DE + + + \ No newline at end of file diff --git a/TestApp/Settings.vb b/TestApp/Settings.vb index 5720175..d0ea768 100644 --- a/TestApp/Settings.vb +++ b/TestApp/Settings.vb @@ -1,6 +1,10 @@ ' **************************************************************************************************************** ' Settings.vb ' © 2024 by Andreas Sauer +' +' Diese Klasse ermöglicht die Behandlung bestimmter Ereignisse der Einstellungsklasse: +' SettingChanging, PropertyChanged, SettingsLoaded, SettingsSaving +' ' **************************************************************************************************************** ' @@ -11,17 +15,14 @@ Imports System.Configuration Namespace My - - 'Diese Klasse ermöglicht die Behandlung bestimmter Ereignisse der Einstellungsklasse: - ' Das SettingChanging-Ereignis wird ausgelöst, bevor der Wert einer Einstellung geändert wird. - ' Das PropertyChanged-Ereignis wird ausgelöst, nachdem der Wert einer Einstellung geändert wurde. - ' Das SettingsLoaded-Ereignis wird ausgelöst, nachdem die Einstellungswerte geladen wurden. - ' Das SettingsSaving-Ereignis wird ausgelöst, bevor die Einstellungswerte gespeichert werden. - - Partial Friend NotInheritable Class MySettings + ''' + ''' wird ausgelöst, nachdem der Wert einer Einstellung geändert wurde. + ''' + ''' + ''' Private Sub MySettings_PropertyChanged( sender As Object, e As PropertyChangedEventArgs) Handles _ @@ -30,6 +31,11 @@ Namespace My End Sub + ''' + ''' wird ausgelöst, bevor der Wert einer Einstellung geändert wird. + ''' + ''' + ''' Private Sub MySettings_SettingChanging( sender As Object, e As SettingChangingEventArgs) Handles _ @@ -38,6 +44,11 @@ Namespace My End Sub + ''' + ''' wird ausgelöst, nachdem die Einstellungswerte geladen wurden. + ''' + ''' + ''' Private Sub MySettings_SettingsLoaded( sender As Object, e As SettingsLoadedEventArgs) Handles _ @@ -46,6 +57,11 @@ Namespace My End Sub + ''' + ''' wird ausgelöst, bevor die Einstellungswerte gespeichert werden. + ''' + ''' + ''' Private Sub MySettings_SettingsSaving( sender As Object, e As CancelEventArgs) Handles _ @@ -56,5 +72,4 @@ Namespace My End Class - End Namespace diff --git a/TestApp/TestApp.vbproj b/TestApp/TestApp.vbproj index 4dfb6a5..ccd2624 100644 --- a/TestApp/TestApp.vbproj +++ b/TestApp/TestApp.vbproj @@ -152,33 +152,61 @@ + + FormAniGifControl.vb + FormAniGifControl.vb + + FormDriveWatcherControl.vb + FormDriveWatcherControl.vb + + FormIniFileControl.vb + FormIniFileControl.vb + + FormMain.vb + FormMain.vb + + FormNotifyFormControl.vb + FormNotifyFormControl.vb + + FormSevenSegmentControl.vb + FormSevenSegmentControl.vb + + FormShapeControl.vb + FormShapeControl.vb + + FormTransparentLabelControl.vb + FormTransparentLabelControl.vb + + FormWizardControl.vb + FormWizardControl.vb + VbMyResourcesResXFileCodeGenerator Resources.Designer.vb diff --git a/ToDo.md b/ToDo.md new file mode 100644 index 0000000..2a2a9d6 --- /dev/null +++ b/ToDo.md @@ -0,0 +1,11 @@ +# geplante Änderungen und Erweiterungen + +- ~~Konstanten der Beschreibungstexte in allen Controls durch Stringressourcen ersetzen.~~ + +- ~~Beschreibungstexte der öffentlichen Eigenschaften in allen Controls durch Stringressourcen ersetzen.~~ + +- ~~Beschreibungstexte der öffentlichen Eigenschaftenin in allen Controls in Englisch hinzufügen.~~ + +- Eine Möglichkeit die Breite des MultiDigit Control automatisch an die Anzahl der Digits anzupassen. + +- Neues Control zum Auslesen und Bearbeiten der EXIF Tag's von Bildern hinzufügen. diff --git a/TransparentLabelControl/My Project/AssemblyInfo.vb b/TransparentLabelControl/My Project/AssemblyInfo.vb index 7605348..ff4a417 100644 --- a/TransparentLabelControl/My Project/AssemblyInfo.vb +++ b/TransparentLabelControl/My Project/AssemblyInfo.vb @@ -1,4 +1,5 @@ -Imports System.Reflection +Imports System.Resources +Imports System.Reflection Imports System.Runtime.CompilerServices Imports System.Runtime.InteropServices Imports Microsoft.VisualBasic @@ -30,5 +31,6 @@ Imports Microsoft.VisualBasic ' You can specify all the values or you can default the Build and Revision Numbers ' by using the '*' as shown below: ' [assembly: AssemblyVersion("1.0.*")] - - + + + diff --git a/TransparentLabelControl/My Project/Resources.Designer.vb b/TransparentLabelControl/My Project/Resources.Designer.vb index 88f2989..e544f87 100644 --- a/TransparentLabelControl/My Project/Resources.Designer.vb +++ b/TransparentLabelControl/My Project/Resources.Designer.vb @@ -60,6 +60,15 @@ Namespace My.Resources End Set End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ein Steuerelement zum Anzeigen eines Textes mit durchscheinendem Hintergrund. ähnelt. + ''' + Friend ReadOnly Property ClassDescription() As String + Get + Return ResourceManager.GetString("ClassDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/TransparentLabelControl/My Project/Resources.en-US.resx b/TransparentLabelControl/My Project/Resources.en-US.resx new file mode 100644 index 0000000..d5bf463 --- /dev/null +++ b/TransparentLabelControl/My Project/Resources.en-US.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + A control for displaying a text with translucent background. + + \ No newline at end of file diff --git a/TransparentLabelControl/My Project/Resources.resx b/TransparentLabelControl/My Project/Resources.resx index 3afe2fd..7ba2b3f 100644 --- a/TransparentLabelControl/My Project/Resources.resx +++ b/TransparentLabelControl/My Project/Resources.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Ein Steuerelement zum Anzeigen eines Textes mit durchscheinendem Hintergrund. + ..\Resources\TransparentLabel.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/TransparentLabelControl/TransparentLabel.vb b/TransparentLabelControl/TransparentLabel.vb index 4ac00f2..e7691b2 100644 --- a/TransparentLabelControl/TransparentLabel.vb +++ b/TransparentLabelControl/TransparentLabel.vb @@ -4,19 +4,28 @@ ' **************************************************************************************************************** ' + Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms -''' Ein Steuerelement zum Anzeigen eines Textes mit durchscheinendem Hintergrund. + +''' +''' Ein Steuerelement zum Anzeigen eines Textes mit durchscheinendem Hintergrund. +''' - + -Public Class TransparentLabel : Inherits Label +Public Class TransparentLabel + +Inherits Label - ''' Wird vom Steuerelement-Designer benötigt. + + ''' + ''' Wird vom Steuerelement-Designer benötigt. + ''' Private components As IContainer @@ -33,7 +42,10 @@ Public Class TransparentLabel : Inherits Label #Region "ausgeblendete Eigenschaften" - ''' Nicht Relevant + + ''' + ''' Nicht Relevant + ''' Public Overrides Property BackColor As Color @@ -45,7 +57,10 @@ Public Class TransparentLabel : Inherits Label End Set End Property - ''' Nicht Relevant + + ''' + ''' Nicht Relevant + ''' Public Overrides Property BackgroundImage As Image @@ -57,7 +72,10 @@ Public Class TransparentLabel : Inherits Label End Set End Property - ''' Nicht Relevant + + ''' + ''' Nicht Relevant + ''' Public Overrides Property BackgroundImageLayout As ImageLayout @@ -69,7 +87,10 @@ Public Class TransparentLabel : Inherits Label End Set End Property - ''' Nicht Relevant + + ''' + ''' Nicht Relevant + ''' Public Overloads Property FlatStyle As FlatStyle @@ -81,10 +102,13 @@ Public Class TransparentLabel : Inherits Label End Set End Property + #End Region - ''' Hiermit wird die Möglichkeit der Transparenz aktiviert + ''' + ''' Hiermit wird die Möglichkeit der Transparenz aktiviert + ''' Protected Overrides ReadOnly Property CreateParams As CreateParams Get Dim cp As CreateParams = MyBase.CreateParams diff --git a/TransparentLabelControl/TransparentLabelControl.vbproj b/TransparentLabelControl/TransparentLabelControl.vbproj index b22dbb5..14d13dd 100644 --- a/TransparentLabelControl/TransparentLabelControl.vbproj +++ b/TransparentLabelControl/TransparentLabelControl.vbproj @@ -79,6 +79,9 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb @@ -108,6 +111,7 @@ + My.Resources VbMyResourcesResXFileCodeGenerator diff --git a/WizardControl/AfterSwitchPagesEventArgs.vb b/WizardControl/AfterSwitchPagesEventArgs.vb index 5d5c96f..2e8e9fe 100644 --- a/WizardControl/AfterSwitchPagesEventArgs.vb +++ b/WizardControl/AfterSwitchPagesEventArgs.vb @@ -4,35 +4,49 @@ ' **************************************************************************************************************** ' + Imports System + ''' ''' Enthält die Indexwerte der Seiten nachdem die Seiten gewechselt wurden. ''' -Public Class AfterSwitchPagesEventArgs : Inherits EventArgs +Public Class AfterSwitchPagesEventArgs + + + Inherits EventArgs + Protected _NewIndex As Integer Private ReadOnly _OldIndex As Integer - ''' Index der alten Seite + + ''' + ''' Index der alten Seite + ''' Public ReadOnly Property OldIndex As Integer Get Return Me._OldIndex End Get End Property - ''' Index der neuen Seite + + ''' + ''' Index der neuen Seite + ''' Public ReadOnly Property NewIndex As Integer Get Return Me._NewIndex End Get End Property + Friend Sub New(OldIndex As Integer, NewIndex As Integer) Me._OldIndex = OldIndex Me._NewIndex = NewIndex End Sub + End Class diff --git a/WizardControl/BeforeSwitchPagesEventArgs.vb b/WizardControl/BeforeSwitchPagesEventArgs.vb index 65868a0..333f4af 100644 --- a/WizardControl/BeforeSwitchPagesEventArgs.vb +++ b/WizardControl/BeforeSwitchPagesEventArgs.vb @@ -4,13 +4,19 @@ ' **************************************************************************************************************** ' + ''' ''' Enthält die Indexwerte der Seiten bevor die Seiten gewechselt werden. ''' -Public Class BeforeSwitchPagesEventArgs : Inherits AfterSwitchPagesEventArgs +Public Class BeforeSwitchPagesEventArgs + + + Inherits AfterSwitchPagesEventArgs + Private _Cancel As Boolean = False + Public Property Cancel As Boolean Get Return Me._Cancel @@ -20,6 +26,7 @@ Public Class BeforeSwitchPagesEventArgs : Inherits AfterSwitchPagesEventArgs End Set End Property + ''' ''' Index der neuen Seite ''' @@ -36,5 +43,6 @@ Public Class BeforeSwitchPagesEventArgs : Inherits AfterSwitchPagesEventArgs MyBase.New(OldIndex, NewIndex) End Sub + End Class diff --git a/WizardControl/My Project/AssemblyInfo.vb b/WizardControl/My Project/AssemblyInfo.vb index 45afda1..093e6bf 100644 --- a/WizardControl/My Project/AssemblyInfo.vb +++ b/WizardControl/My Project/AssemblyInfo.vb @@ -1,4 +1,5 @@ -' **************************************************************************************************************** +Imports System.Resources +' **************************************************************************************************************** ' AssemblyInfo.vb ' © 2024 by Andreas Sauer ' **************************************************************************************************************** @@ -16,5 +17,6 @@ Imports System.Runtime.InteropServices - - + + + diff --git a/WizardControl/My Project/Resources.Designer.vb b/WizardControl/My Project/Resources.Designer.vb index 954f3a3..f57af79 100644 --- a/WizardControl/My Project/Resources.Designer.vb +++ b/WizardControl/My Project/Resources.Designer.vb @@ -60,6 +60,24 @@ Namespace My.Resources End Set End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Tritt auf, nachdem die Seiten des Assistenten gewechselt wurden, und gibt dem Benutzer die Möglichkeit, die neue Seite einzurichten. ähnelt. + ''' + Friend ReadOnly Property AfterSwitchPagesDescription() As String + Get + Return ResourceManager.GetString("AfterSwitchPagesDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Tritt auf, bevor die Seiten des Assistenten gewechselt werden, um dem Benutzer die Möglichkeit zur Validierung zu geben. ähnelt. + ''' + Friend ReadOnly Property BeforeSwitchPagesDescription() As String + Get + Return ResourceManager.GetString("BeforeSwitchPagesDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Zeichenfolge, die OK ähnelt. ''' @@ -87,6 +105,60 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Tritt auf wenn der Benutzer auf Abbrechen geklickt hat. ähnelt. + ''' + Friend ReadOnly Property CancelDesription() As String + Get + Return ResourceManager.GetString("CancelDesription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ein Control zum erstellen eines Assistenen ähnelt. + ''' + Friend ReadOnly Property ClassDescription() As String + Get + Return ResourceManager.GetString("ClassDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft die Beschreibung der Assistentenseite ab oder legt diese fest. ähnelt. + ''' + Friend ReadOnly Property DescriptionDescription() As String + Get + Return ResourceManager.GetString("DescriptionDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft ab oder legt fest, an welcher Kante des übergeordneten Containers ein Steuerelement angedockt ist. ähnelt. + ''' + Friend ReadOnly Property DockDescription() As String + Get + Return ResourceManager.GetString("DockDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Tritt auf, wenn der Assistent abgeschlossen ist, und gibt dem Benutzer die Möglichkeit, zusätzliche Aufgaben zu erledigen. ähnelt. + ''' + Friend ReadOnly Property FinishDescription() As String + Get + Return ResourceManager.GetString("FinishDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft die Schriftart ab, die zum Anzeigen der Beschreibung einer Standardseite verwendet wird, oder legt diese fest. ähnelt. + ''' + Friend ReadOnly Property HeaderFontDescription() As String + Get + Return ResourceManager.GetString("HeaderFontDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -97,6 +169,87 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft die Schriftart ab, die zum Anzeigen des Titels einer Standardseite verwendet wird, oder legt diese fest. ähnelt. + ''' + Friend ReadOnly Property HeaderTitleFontDescription() As String + Get + Return ResourceManager.GetString("HeaderTitleFontDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Tritt auf, wenn der Benutzer auf die Hilfeschaltfläche klickt. ähnelt. + ''' + Friend ReadOnly Property HelpDescription() As String + Get + Return ResourceManager.GetString("HelpDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft das in der Kopfzeile der Standardseiten angezeigte Bild ab oder legt dieses fest. ähnelt. + ''' + Friend ReadOnly Property ImageHeaderDesription() As String + Get + Return ResourceManager.GetString("ImageHeaderDesription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft das auf den Begrüßungs- und Abschlussseiten angezeigte Bild ab oder legt es fest. ähnelt. + ''' + Friend ReadOnly Property ImageWelcomeDescription() As String + Get + Return ResourceManager.GetString("ImageWelcomeDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft die Auflistung der Assistentenseiten in diesem Registerkartensteuerelement ab. ähnelt. + ''' + Friend ReadOnly Property PagesCollectionDescription() As String + Get + Return ResourceManager.GetString("PagesCollectionDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft den Stil der Assistentenseite ab oder legt diesen fest. ähnelt. + ''' + Friend ReadOnly Property StyleDescription() As String + Get + Return ResourceManager.GetString("StyleDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft den Titel der Assistentenseite ab oder legt diesen fest. ähnelt. + ''' + Friend ReadOnly Property TitleDescription() As String + Get + Return ResourceManager.GetString("TitleDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft die Sichtbarkeit Status der Hilfeschaltfläche ab oder legt diesen fest. ähnelt. + ''' + Friend ReadOnly Property VisibleHelpDescription() As String + Get + Return ResourceManager.GetString("VisibleHelpDescription", resourceCulture) + End Get + End Property + + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft die Schriftart ab, die zum Anzeigen der Beschreibung einer Begrüßungs- oder Abschlussseite verwendet wird, oder legt diese fest. ähnelt. + ''' + Friend ReadOnly Property WelcomeFontDescription() As String + Get + Return ResourceManager.GetString("WelcomeFontDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -107,6 +260,15 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Zeichenfolge, die Ruft die Schriftart ab, die zum Anzeigen des Titels einer Begrüßungs- oder Abschlussseite verwendet wird, oder legt diese fest. ähnelt. + ''' + Friend ReadOnly Property WelcomeTitleFontDescription() As String + Get + Return ResourceManager.GetString("WelcomeTitleFontDescription", resourceCulture) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' diff --git a/WizardControl/My Project/Resources.en-US.resx b/WizardControl/My Project/Resources.en-US.resx new file mode 100644 index 0000000..cc36a63 --- /dev/null +++ b/WizardControl/My Project/Resources.en-US.resx @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Come up after the assistant's pages have been changed and gives the user the opportunity to set up the new page. + + + Occurrence before the assistant's pages are changed to give the user the opportunity to validate. + + + OK + + + Finish + + + Demolition + + + Occurs when the user clicked on canceling. + + + A control for creating an assistant + + + Calls the description of the assistant side or defines it. + + + Call or determine the edge of the overarching container a control is docked. + + + Occurs when the assistant is complete and gives the user the opportunity to do additional tasks. + + + Calls the font that is used to display the description of a standard page or determine it. + + + Calls the font that is used to display the title of a standard page or determine it. + + + Passes up when the user clicks on the help button. + + + Calls the image displayed in the header of the standard pages or defines this festival. + + + Calls the image displayed on the welcome and final pages or determines it. + + + Calls the listing of the assistant sides in this tab control. + + + Call the style of the assistant side or define it. + + + Call the title of the assistant side or define it. + + + Calls the visibility status of the help button or defines it. + + + Calls the font that is used to display the description of a welcome or final page or determine it. + + + Calls the font that is used to display the title of a welcome or final page or determine it. + + \ No newline at end of file diff --git a/WizardControl/My Project/Resources.resx b/WizardControl/My Project/Resources.resx index 72434e9..b8508b7 100644 --- a/WizardControl/My Project/Resources.resx +++ b/WizardControl/My Project/Resources.resx @@ -117,6 +117,12 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Tritt auf, nachdem die Seiten des Assistenten gewechselt wurden, und gibt dem Benutzer die Möglichkeit, die neue Seite einzurichten. + + + Tritt auf, bevor die Seiten des Assistenten gewechselt werden, um dem Benutzer die Möglichkeit zur Validierung zu geben. + OK @@ -126,13 +132,61 @@ Abbruch + + Tritt auf wenn der Benutzer auf Abbrechen geklickt hat. + + + Ein Control zum erstellen eines Assistenen + + + Ruft die Beschreibung der Assistentenseite ab oder legt diese fest. + + + Ruft ab oder legt fest, an welcher Kante des übergeordneten Containers ein Steuerelement angedockt ist. + + + Tritt auf, wenn der Assistent abgeschlossen ist, und gibt dem Benutzer die Möglichkeit, zusätzliche Aufgaben zu erledigen. + + + Ruft die Schriftart ab, die zum Anzeigen der Beschreibung einer Standardseite verwendet wird, oder legt diese fest. + ..\Resources\HeaderImage.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Ruft die Schriftart ab, die zum Anzeigen des Titels einer Standardseite verwendet wird, oder legt diese fest. + + + Tritt auf, wenn der Benutzer auf die Hilfeschaltfläche klickt. + + + Ruft das in der Kopfzeile der Standardseiten angezeigte Bild ab oder legt dieses fest. + + + Ruft das auf den Begrüßungs- und Abschlussseiten angezeigte Bild ab oder legt es fest. + + + Ruft die Auflistung der Assistentenseiten in diesem Registerkartensteuerelement ab. + + + Ruft den Stil der Assistentenseite ab oder legt diesen fest. + + + Ruft den Titel der Assistentenseite ab oder legt diesen fest. + + + Ruft die Sichtbarkeit Status der Hilfeschaltfläche ab oder legt diesen fest. + + + Ruft die Schriftart ab, die zum Anzeigen der Beschreibung einer Begrüßungs- oder Abschlussseite verwendet wird, oder legt diese fest. + ..\Resources\WelcomeImage.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Ruft die Schriftart ab, die zum Anzeigen des Titels einer Begrüßungs- oder Abschlussseite verwendet wird, oder legt diese fest. + ..\Resources\Wizard.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/WizardControl/PageCustom.vb b/WizardControl/PageCustom.vb index b926262..a4f3c00 100644 --- a/WizardControl/PageCustom.vb +++ b/WizardControl/PageCustom.vb @@ -4,19 +4,26 @@ ' **************************************************************************************************************** ' + Imports System.ComponentModel + ''' ''' Definiert eine Benutzerdefinierte Seite ''' -Public Class PageCustom : Inherits WizardPage +Public Class PageCustom + + + Inherits WizardPage + Private _Style As PageStyle = PageStyle.Custom + - + Public Overrides Property Style As PageStyle Get Return Me._Style @@ -26,5 +33,6 @@ Public Class PageCustom : Inherits WizardPage End Set End Property + End Class diff --git a/WizardControl/PageDesigner.vb b/WizardControl/PageDesigner.vb index 164d0a7..a72ec53 100644 --- a/WizardControl/PageDesigner.vb +++ b/WizardControl/PageDesigner.vb @@ -4,10 +4,18 @@ ' **************************************************************************************************************** ' + Imports System.Windows.Forms.Design -''' Designer für die Seiten des Controls -Friend Class PageDesigner : Inherits ParentControlDesigner + +''' +''' Designer für die Seiten des Controls +''' +Friend Class PageDesigner + + + Inherits ParentControlDesigner + Public Overrides ReadOnly Property SelectionRules As SelectionRules Get @@ -15,4 +23,5 @@ Friend Class PageDesigner : Inherits ParentControlDesigner End Get End Property + End Class diff --git a/WizardControl/PageFinish.vb b/WizardControl/PageFinish.vb index 8fcd14c..aed5a99 100644 --- a/WizardControl/PageFinish.vb +++ b/WizardControl/PageFinish.vb @@ -4,17 +4,26 @@ ' **************************************************************************************************************** ' + Imports System.ComponentModel -''' Definiert die Abschlußseite + +''' +''' Definiert die Abschlußseite +''' -Public Class PageFinish : Inherits WizardPage +Public Class PageFinish + + + Inherits WizardPage + Private _Style As PageStyle = PageStyle.Finish + - + Public Overrides Property Style As PageStyle Get Return Me._Style @@ -24,5 +33,6 @@ Public Class PageFinish : Inherits WizardPage End Set End Property + End Class diff --git a/WizardControl/PageStandard.vb b/WizardControl/PageStandard.vb index e603e89..27ccbde 100644 --- a/WizardControl/PageStandard.vb +++ b/WizardControl/PageStandard.vb @@ -4,17 +4,26 @@ ' **************************************************************************************************************** ' + Imports System.ComponentModel -''' Definiert eine Standardseite + +''' +''' Definiert eine Standardseite +''' -Public Class PageStandard : Inherits WizardPage +Public Class PageStandard + + + Inherits WizardPage + Private _Style As PageStyle = PageStyle.Standard + - + Public Overrides Property Style As PageStyle Get Return Me._Style @@ -24,5 +33,6 @@ Public Class PageStandard : Inherits WizardPage End Set End Property + End Class diff --git a/WizardControl/PageWelcome.vb b/WizardControl/PageWelcome.vb index bf6311e..40bd39e 100644 --- a/WizardControl/PageWelcome.vb +++ b/WizardControl/PageWelcome.vb @@ -4,17 +4,26 @@ ' **************************************************************************************************************** ' + Imports System.ComponentModel -''' Definiert die Willkommenseite + +''' +''' Definiert die Willkommenseite +''' -Public Class PageWelcome : Inherits WizardPage +Public Class PageWelcome + + + Inherits WizardPage + Private _Style As PageStyle = PageStyle.Welcome + - + Public Overrides Property Style As PageStyle Get Return Me._Style @@ -24,5 +33,6 @@ Public Class PageWelcome : Inherits WizardPage End Set End Property + End Class diff --git a/WizardControl/PagesCollection.vb b/WizardControl/PagesCollection.vb index e489763..047e5af 100644 --- a/WizardControl/PagesCollection.vb +++ b/WizardControl/PagesCollection.vb @@ -3,13 +3,23 @@ ' © 2024 by Andreas Sauer ' **************************************************************************************************************** ' + + Imports System.Collections -''' Definiert die Auflistung der Seiten des Assistenten -Public Class PagesCollection : Inherits CollectionBase + +''' +''' Definiert die Auflistung der Seiten des Assistenten +''' +Public Class PagesCollection + + + Inherits CollectionBase + Private ReadOnly _Owner As Wizard = Nothing + Default Public Property Item(Index As Integer) As WizardPage Get Return CType(Me.List(Index), WizardPage) @@ -19,41 +29,50 @@ Public Class PagesCollection : Inherits CollectionBase End Set End Property + Friend Sub New(Owner As Wizard) Me._Owner = Owner End Sub + Public Function Add(Page As WizardPage) As Integer Return Me.List.Add(Page) End Function + Public Sub AddRange(Pages As WizardPage()) For Each value As WizardPage In Pages Dim unused = Me.Add(value) Next End Sub + Public Function IndexOf(Page As WizardPage) As Integer Return Me.List.IndexOf(Page) End Function + Public Sub Insert(Index As Integer, Page As WizardPage) Me.List.Insert(Index, Page) End Sub + Public Sub Remove(Page As WizardPage) Me.List.Remove(Page) End Sub + Public Function Contains(Page As WizardPage) As Boolean Return Me.List.Contains(Page) End Function + Protected Overrides Sub OnInsertComplete(Index As Integer, Value As Object) MyBase.OnInsertComplete(Index, Value) Me._Owner.SelectedIndex = Index End Sub + Protected Overrides Sub OnRemoveComplete(Index As Integer, Value As Object) MyBase.OnRemoveComplete(Index, Value) If Me._Owner.SelectedIndex = Index Then @@ -61,5 +80,6 @@ Public Class PagesCollection : Inherits CollectionBase End If End Sub + End Class diff --git a/WizardControl/PagesCollectionEditor.vb b/WizardControl/PagesCollectionEditor.vb index fa8b823..3abadec 100644 --- a/WizardControl/PagesCollectionEditor.vb +++ b/WizardControl/PagesCollectionEditor.vb @@ -9,7 +9,9 @@ Imports System Imports System.ComponentModel.Design ''' Dient zum anzeigen der Seitenstile im Seitendesigner -Friend Class PagesCollectionEditor : Inherits CollectionEditor +Friend Class PagesCollectionEditor + + Inherits CollectionEditor Private ReadOnly _PageTypes As Type() diff --git a/WizardControl/Wizard.Designer.vb b/WizardControl/Wizard.Designer.vb index bf53a27..b030531 100644 --- a/WizardControl/Wizard.Designer.vb +++ b/WizardControl/Wizard.Designer.vb @@ -26,6 +26,7 @@ Partial Class Wizard 'Ändern Sie es nicht mit dem Code-Editor. Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Wizard)) Me.ButtonHelp = New System.Windows.Forms.Button() Me.ButtonBack = New System.Windows.Forms.Button() Me.ButtonNext = New System.Windows.Forms.Button() @@ -34,53 +35,33 @@ Partial Class Wizard ' 'ButtonHelp ' - Me.ButtonHelp.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.ButtonHelp.FlatStyle = System.Windows.Forms.FlatStyle.System - Me.ButtonHelp.Location = New System.Drawing.Point(8, 188) + resources.ApplyResources(Me.ButtonHelp, "ButtonHelp") Me.ButtonHelp.Name = "ButtonHelp" - Me.ButtonHelp.Size = New System.Drawing.Size(75, 23) - Me.ButtonHelp.TabIndex = 9 - Me.ButtonHelp.Text = "&Hilfe" ' 'ButtonBack ' - Me.ButtonBack.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButtonBack.FlatStyle = System.Windows.Forms.FlatStyle.System - Me.ButtonBack.Location = New System.Drawing.Point(130, 188) + resources.ApplyResources(Me.ButtonBack, "ButtonBack") Me.ButtonBack.Name = "ButtonBack" - Me.ButtonBack.Size = New System.Drawing.Size(75, 23) - Me.ButtonBack.TabIndex = 6 - Me.ButtonBack.Text = "< &Zurück" ' 'ButtonNext ' - Me.ButtonNext.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButtonNext.FlatStyle = System.Windows.Forms.FlatStyle.System - Me.ButtonNext.Location = New System.Drawing.Point(210, 188) + resources.ApplyResources(Me.ButtonNext, "ButtonNext") Me.ButtonNext.Name = "ButtonNext" - Me.ButtonNext.Size = New System.Drawing.Size(75, 23) - Me.ButtonNext.TabIndex = 7 - Me.ButtonNext.Text = "&Weiter >" ' 'ButtonCancel ' - Me.ButtonCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + resources.ApplyResources(Me.ButtonCancel, "ButtonCancel") Me.ButtonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel - Me.ButtonCancel.FlatStyle = System.Windows.Forms.FlatStyle.System - Me.ButtonCancel.Location = New System.Drawing.Point(290, 188) Me.ButtonCancel.Name = "ButtonCancel" - Me.ButtonCancel.Size = New System.Drawing.Size(75, 23) - Me.ButtonCancel.TabIndex = 8 - Me.ButtonCancel.Text = "Abbruch" ' 'Wizard ' + resources.ApplyResources(Me, "$this") Me.Controls.Add(Me.ButtonHelp) Me.Controls.Add(Me.ButtonBack) Me.Controls.Add(Me.ButtonNext) Me.Controls.Add(Me.ButtonCancel) Me.Name = "Wizard" - Me.Size = New System.Drawing.Size(374, 220) Me.ResumeLayout(False) End Sub diff --git a/WizardControl/Wizard.en-US.resx b/WizardControl/Wizard.en-US.resx new file mode 100644 index 0000000..abd4657 --- /dev/null +++ b/WizardControl/Wizard.en-US.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + <Back + + + Help + + + Demolition + + + Next> + + \ No newline at end of file diff --git a/WizardControl/Wizard.en.resx b/WizardControl/Wizard.en.resx new file mode 100644 index 0000000..cd73c02 --- /dev/null +++ b/WizardControl/Wizard.en.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + &Help + + + < &Back + + + &Forward > + + + Cancel + + \ No newline at end of file diff --git a/WizardControl/Wizard.resx b/WizardControl/Wizard.resx index 1af7de1..38c84f8 100644 --- a/WizardControl/Wizard.resx +++ b/WizardControl/Wizard.resx @@ -117,4 +117,142 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 3 + + + $this + + + Wizard + + + < &Zurück + + + + 130, 188 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + System + + + System + + + ButtonNext + + + + 9 + + + 8 + + + 374, 220 + + + Bottom, Right + + + System + + + 0 + + + $this + + + 1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ButtonHelp + + + 290, 188 + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ButtonBack + + + 75, 23 + + + System + + + 6 + + + 2 + + + &Hilfe + + + 75, 23 + + + Bottom, Right + + + 75, 23 + + + $this + + + Abbruch + + + Bottom, Left + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + &Weiter > + + + 75, 23 + + + ButtonCancel + + + 210, 188 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 8, 188 + + + 7 + + + $this + + + Bottom, Right + + + True + + + de + \ No newline at end of file diff --git a/WizardControl/Wizard.vb b/WizardControl/Wizard.vb index 71ee392..6b64643 100644 --- a/WizardControl/Wizard.vb +++ b/WizardControl/Wizard.vb @@ -4,6 +4,7 @@ ' **************************************************************************************************************** ' + Imports System Imports System.ComponentModel Imports System.ComponentModel.Design @@ -12,56 +13,69 @@ Imports System.Drawing.Design Imports System.Windows.Forms Imports System.Windows.Forms.Design + ''' ''' Ein Control zum erstellen eines Assistenen ''' - + -Public Class Wizard : Inherits UserControl +Public Class Wizard + + + Inherits UserControl + ''' ''' speichert das Bild für den Headerbereich ''' Friend _ImageHeader As Image + ''' ''' speichert das Bild für den linken Bereich der Willkommens und der Abschlußseite ''' Friend _ImageWelcome As Image + ''' ''' speichert die Schriftart für die Beschreibung der Willkommens und Abschlußseite ''' Friend _WelcomeFont As Font + ''' ''' speichert die Schriftart für den Titel der Willkommens und Abschlußseite ''' Friend _WelcomeTitleFont As Font + ''' ''' speichert die Schriftart für die Beschreibung einer Standardeite ''' Friend _HeaderFont As Font + ''' ''' speichert die Schriftart für den Titel einer Standardeite ''' Friend _HeaderTitleFont As Font + ''' ''' speichert die aktuelle Seite ''' Friend _SelectedPage As WizardPage + ''' ''' speichert die Seiten des Assistenten ''' Friend _Pages As PagesCollection + ''' ''' Speichert die sichtbarkeit des Hilfebuttons ''' @@ -76,29 +90,57 @@ Public Class Wizard : Inherits UserControl Public Delegate Sub BeforeSwitchPagesEventHandler(sender As Object, e As BeforeSwitchPagesEventArgs) Public Delegate Sub AfterSwitchPagesEventHandler(sender As Object, e As AfterSwitchPagesEventArgs) + + ''' + ''' Tritt auf, bevor die Seiten des Assistenten gewechselt werden, + ''' um dem Benutzer die Möglichkeit zur Validierung zu geben. + ''' - + Public Event BeforeSwitchPages As BeforeSwitchPagesEventHandler + + ''' + ''' Tritt auf, nachdem die Seiten des Assistenten gewechselt wurden, + ''' und gibt dem Benutzer die Möglichkeit, die neue Seite einzurichten. + ''' - + Public Event AfterSwitchPages As AfterSwitchPagesEventHandler + + ''' + ''' Tritt auf wenn der Benutzer auf Abbrechen geklickt hat. + ''' - + Public Event Cancel As CancelEventHandler + + ''' + ''' Tritt auf, wenn der Assistent abgeschlossen ist, + ''' und gibt dem Benutzer die Möglichkeit, zusätzliche Aufgaben zu erledigen. + ''' - + Public Event Finish As EventHandler + + ''' + ''' Tritt auf, wenn der Benutzer auf die Hilfeschaltfläche klickt. + ''' - + Public Event Help As EventHandler + + ''' + ''' Ruft die Sichtbarkeit Status der Hilfeschaltfläche ab oder legt diesen fest. + ''' + ''' - + Public Property VisibleHelp As Boolean Get @@ -121,9 +163,14 @@ Public Class Wizard : Inherits UserControl End Set End Property + + ''' + ''' Ruft die Auflistung der Assistentenseiten in diesem Registerkartensteuerelement ab. + ''' + ''' - - + + Public ReadOnly Property Pages As PagesCollection Get @@ -131,9 +178,14 @@ Public Class Wizard : Inherits UserControl End Get End Property + + ''' + ''' Ruft das in der Kopfzeile der Standardseiten angezeigte Bild ab oder legt dieses fest. + ''' + ''' - + Public Property ImageHeader As Image Get Return Me._ImageHeader @@ -146,9 +198,14 @@ Public Class Wizard : Inherits UserControl End Set End Property + + ''' + ''' Ruft das auf den Begrüßungs- und Abschlussseiten angezeigte Bild ab oder legt es fest. + ''' + ''' - + Public Property ImageWelcome As Image Get Return Me._ImageWelcome @@ -161,8 +218,13 @@ Public Class Wizard : Inherits UserControl End Set End Property + + ''' + ''' Ruft ab oder legt fest, an welcher Kante des übergeordneten Containers ein Steuerelement angedockt ist. + ''' + ''' - + Public Overloads Property Dock As DockStyle Get @@ -173,6 +235,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Property SelectedPage As WizardPage @@ -184,6 +247,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Friend Property SelectedIndex As Integer @@ -204,8 +268,14 @@ Public Class Wizard : Inherits UserControl End Set End Property + + ''' + ''' Ruft die Schriftart ab, die zum Anzeigen der Beschreibung einer Standardseite + ''' verwendet wird, oder legt diese fest. + ''' + ''' - + Public Property HeaderFont As Font Get Return If(Me._HeaderFont, MyBase.Font) @@ -218,8 +288,14 @@ Public Class Wizard : Inherits UserControl End Set End Property + + ''' + ''' Ruft die Schriftart ab, die zum Anzeigen des Titels einer Standardseite verwendet wird, + ''' oder legt diese fest. + ''' + ''' - + Public Property HeaderTitleFont As Font Get Return If( @@ -237,8 +313,14 @@ Public Class Wizard : Inherits UserControl End Set End Property + + ''' + ''' Ruft die Schriftart ab, die zum Anzeigen der Beschreibung einer Begrüßungs- oder + ''' Abschlussseite verwendet wird, oder legt diese fest. + ''' + ''' - + Public Property WelcomeFont As Font Get Return If(Me._WelcomeFont, MyBase.Font) @@ -251,8 +333,14 @@ Public Class Wizard : Inherits UserControl End Set End Property + + ''' + ''' Ruft die Schriftart ab, die zum Anzeigen des Titels einer Begrüßungs- oder Abschlussseite + ''' verwendet wird, oder legt diese fest. + ''' + ''' - + Public Property WelcomeTitleFont As Font Get Return If( @@ -270,6 +358,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Property NextEnabled As Boolean @@ -281,6 +370,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Property BackEnabled As Boolean @@ -292,6 +382,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Property NextText As String @@ -303,6 +394,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Property BackText As String @@ -314,6 +406,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Property CancelText As String @@ -325,6 +418,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Property HelpText As String @@ -336,6 +430,7 @@ Public Class Wizard : Inherits UserControl End Set End Property + Public Sub New() Me.InitializeComponent() @@ -346,6 +441,7 @@ Public Class Wizard : Inherits UserControl End Sub + Private Sub InitializeVariables() Me._ImageHeader = My.Resources.HeaderImage @@ -360,6 +456,7 @@ Public Class Wizard : Inherits UserControl End Sub + Private Sub InitializeStyles() Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) @@ -369,6 +466,7 @@ Public Class Wizard : Inherits UserControl End Sub + ''' ''' Entspricht einem Klick auf die Schaltfläche "weiter". ''' @@ -389,6 +487,7 @@ Public Class Wizard : Inherits UserControl End Sub + ''' ''' Entspricht einem Klick auf die Schaltfläche "zurück". ''' @@ -409,6 +508,7 @@ Public Class Wizard : Inherits UserControl End Sub + ''' ''' Setzt den Index der aktuellen Seite ''' @@ -421,6 +521,7 @@ Public Class Wizard : Inherits UserControl End Sub + ''' ''' setzt eine Wizardseite als aktuelle Seite ''' @@ -483,6 +584,7 @@ Public Class Wizard : Inherits UserControl End Sub + Private Sub FocusFirstTabIndex(container As Control) Dim control As Control = Nothing @@ -503,6 +605,7 @@ Public Class Wizard : Inherits UserControl End Sub + Protected Overridable Sub OnBeforeSwitchPages(e As BeforeSwitchPagesEventArgs) RaiseEvent BeforeSwitchPages(Me, e) @@ -514,12 +617,14 @@ Public Class Wizard : Inherits UserControl End Sub + Protected Overridable Sub OnAfterSwitchPages(e As AfterSwitchPagesEventArgs) RaiseEvent AfterSwitchPages(Me, e) End Sub + Protected Overridable Sub OnCancel(e As CancelEventArgs) RaiseEvent Cancel(Me, e) @@ -532,6 +637,7 @@ Public Class Wizard : Inherits UserControl End Sub + Protected Overridable Sub OnFinish(e As EventArgs) RaiseEvent Finish(Me, e) @@ -539,12 +645,14 @@ Public Class Wizard : Inherits UserControl End Sub + Protected Overridable Sub OnHelp(e As EventArgs) RaiseEvent Help(Me, e) End Sub + Protected Overrides Sub OnLoad(e As EventArgs) MyBase.OnLoad(e) @@ -555,6 +663,7 @@ Public Class Wizard : Inherits UserControl End Sub + Protected Overrides Sub OnResize(e As EventArgs) MyBase.OnResize(e) @@ -572,6 +681,7 @@ Public Class Wizard : Inherits UserControl End Sub + Protected Overrides Sub OnPaint(e As PaintEventArgs) MyBase.OnPaint(e) @@ -588,6 +698,7 @@ Public Class Wizard : Inherits UserControl End Sub + Protected Overrides Sub OnControlAdded(e As ControlEventArgs) If Not (TypeOf e.Control Is WizardPage) AndAlso e.Control IsNot Me.ButtonCancel AndAlso e.Control IsNot Me.ButtonNext AndAlso e.Control IsNot Me.ButtonBack Then @@ -604,6 +715,7 @@ Public Class Wizard : Inherits UserControl End Sub + Private Sub ButtonHelp_Click(sender As Object, e As EventArgs) Handles _ ButtonHelp.Click @@ -611,6 +723,7 @@ Public Class Wizard : Inherits UserControl End Sub + Private Sub ButtonBack_Click(sender As Object, e As EventArgs) Handles _ ButtonBack.Click @@ -618,6 +731,7 @@ Public Class Wizard : Inherits UserControl End Sub + Private Sub ButtonNext_Click(sender As Object, e As EventArgs) Handles _ ButtonNext.Click @@ -625,6 +739,7 @@ Public Class Wizard : Inherits UserControl End Sub + Private Sub ButtonCancel_Click(sender As Object, e As EventArgs) Handles _ ButtonCancel.Click @@ -640,4 +755,5 @@ Public Class Wizard : Inherits UserControl End Sub + End Class diff --git a/WizardControl/WizardControl.vbproj b/WizardControl/WizardControl.vbproj index 48b4fce..9da1fef 100644 --- a/WizardControl/WizardControl.vbproj +++ b/WizardControl/WizardControl.vbproj @@ -79,6 +79,9 @@ + + MyDescription.vb + ProvideToolboxControlAttribute.vb @@ -123,11 +126,18 @@ + My.Resources VbMyResourcesResXFileCodeGenerator Resources.Designer.vb + + Wizard.vb + + + Wizard.vb + Wizard.vb Designer diff --git a/WizardControl/WizardDesigner.vb b/WizardControl/WizardDesigner.vb index 1d3b142..2dd2fe1 100644 --- a/WizardControl/WizardDesigner.vb +++ b/WizardControl/WizardDesigner.vb @@ -4,13 +4,21 @@ ' **************************************************************************************************************** ' + Imports System.ComponentModel.Design Imports System.Drawing Imports System.Windows.Forms Imports System.Windows.Forms.Design -''' Designer für dieses Control -Friend Class WizardDesigner : Inherits ParentControlDesigner + +''' +''' Designer für dieses Control +''' +Friend Class WizardDesigner + + + Inherits ParentControlDesigner + Protected Overrides Property DrawGrid As Boolean Get @@ -21,6 +29,7 @@ Friend Class WizardDesigner : Inherits ParentControlDesigner End Set End Property + Protected Overrides Sub WndProc(ByRef msg As Message) If msg.Msg = 513 OrElse msg.Msg = 515 Then Dim selectionService = CType(MyBase.GetService(GetType(ISelectionService)), ISelectionService) @@ -42,4 +51,5 @@ Friend Class WizardDesigner : Inherits ParentControlDesigner MyBase.WndProc(msg) End Sub + End Class diff --git a/WizardControl/WizardPage.vb b/WizardControl/WizardPage.vb index 727e24c..66c28e2 100644 --- a/WizardControl/WizardPage.vb +++ b/WizardControl/WizardPage.vb @@ -3,24 +3,32 @@ ' © 2024 by Andreas Sauer ' **************************************************************************************************************** ' + + Imports System Imports System.ComponentModel Imports System.Drawing Imports System.Windows.Forms + ''' ''' Definiert eine Seite des Controls ''' -Public Class WizardPage : Inherits Panel +Public Class WizardPage + + + Inherits Panel + Private _Style As PageStyle = PageStyle.Standard Private _Title As String = String.Empty Private _Description As String = String.Empty + - + Public Overridable Property Style As PageStyle Get Return Me._Style @@ -41,9 +49,10 @@ Public Class WizardPage : Inherits Panel End Set End Property + - + Public Overridable Property Title As String Get Return Me._Title @@ -59,9 +68,10 @@ Public Class WizardPage : Inherits Panel End Set End Property + - + Public Overridable Property Description As String Get Return Me._Description @@ -77,12 +87,14 @@ Public Class WizardPage : Inherits Panel End Set End Property + Public Sub New() Me.InitializeStyles() End Sub + Private Sub InitializeStyles() Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) @@ -92,6 +104,7 @@ Public Class WizardPage : Inherits Panel End Sub + Protected Overrides Sub OnPaint(e As PaintEventArgs) MyBase.OnPaint(e) @@ -242,5 +255,6 @@ Public Class WizardPage : Inherits Panel End Sub + End Class