From 3f74e845bb431bcfa70a29d850c495726b759bec Mon Sep 17 00:00:00 2001 From: "m.ilhan" Date: Mon, 9 Dec 2024 17:43:40 +0100 Subject: [PATCH] TvSettingsNew --- Aviso/App.config | 70 +- Aviso/Aviso.vbproj | 9 + Aviso/My Project/AssemblyInfo.vb | 4 +- Aviso/bin/Debug/Resources/ambar_boarder.png | Bin 23129 -> 0 bytes Aviso/frmEintragTvNew.Designer.vb | 495 ++++------- Aviso/frmEintragTvNew.resx | 3 + Aviso/frmEintragTvNew.vb | 888 ++++++++++---------- Aviso/frmTvSettings.Designer.vb | 286 +++++++ Aviso/frmTvSettings.resx | 120 +++ Aviso/frmTvSettings.vb | 139 +++ AvisoTV/frmAnzeige.vb | 2 +- 11 files changed, 1194 insertions(+), 822 deletions(-) delete mode 100644 Aviso/bin/Debug/Resources/ambar_boarder.png create mode 100644 Aviso/frmTvSettings.Designer.vb create mode 100644 Aviso/frmTvSettings.resx create mode 100644 Aviso/frmTvSettings.vb diff --git a/Aviso/App.config b/Aviso/App.config index a1e778d..5a90c87 100644 --- a/Aviso/App.config +++ b/Aviso/App.config @@ -1,15 +1,15 @@ - + -
+
- + - + @@ -21,55 +21,75 @@ 200, 200 - + - + - + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/Aviso/Aviso.vbproj b/Aviso/Aviso.vbproj index 8a1a7be..1fd998b 100644 --- a/Aviso/Aviso.vbproj +++ b/Aviso/Aviso.vbproj @@ -964,6 +964,12 @@ Form + + frmTvSettings.vb + + + Form + frmWarenbezeichnungBegriffe.vb @@ -1414,6 +1420,9 @@ frmTv.vb + + frmTvSettings.vb + frmWarenbezeichnungBegriffe.vb diff --git a/Aviso/My Project/AssemblyInfo.vb b/Aviso/My Project/AssemblyInfo.vb index 25d4a6f..4f4f35e 100644 --- a/Aviso/My Project/AssemblyInfo.vb +++ b/Aviso/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/Aviso/bin/Debug/Resources/ambar_boarder.png b/Aviso/bin/Debug/Resources/ambar_boarder.png deleted file mode 100644 index bc0c10130a2833f84f81c8447fa0a8181ce1eef0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23129 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 Ef)~5i_y7O^ diff --git a/Aviso/frmEintragTvNew.Designer.vb b/Aviso/frmEintragTvNew.Designer.vb index c195513..51297e9 100644 --- a/Aviso/frmEintragTvNew.Designer.vb +++ b/Aviso/frmEintragTvNew.Designer.vb @@ -15,48 +15,80 @@ Partial Class frmEintragTvNew Private components As System.ComponentModel.IContainer + ' Deklaration der Steuerelemente + Friend WithEvents cbxStandort As ComboBox + Friend WithEvents lblStandort As Label + Friend WithEvents dgvAVISOTV As DataGridView + Friend WithEvents grpEingabe As GroupBox + Friend WithEvents lblNeueTvTextBezeichnung As Label + Friend WithEvents txtNeueTvTextBezeichnung As TextBox + Friend WithEvents chkIsActive As CheckBox + Friend WithEvents chkIsRecurring As CheckBox + Friend WithEvents grpWochentage As GroupBox + Friend WithEvents chkSunday As CheckBox + Friend WithEvents chkSaturday As CheckBox + Friend WithEvents chkFriday As CheckBox + Friend WithEvents chkThursday As CheckBox + Friend WithEvents chkWednesday As CheckBox + Friend WithEvents chkTuesday As CheckBox + Friend WithEvents chkMonday As CheckBox + Friend WithEvents dtpEndTime As DateTimePicker + Friend WithEvents lblEndTime As Label + Friend WithEvents dtpStartTime As DateTimePicker + Friend WithEvents lblStartTime As Label + Friend WithEvents dtpEndDate As DateTimePicker + Friend WithEvents lblEndDate As Label + Friend WithEvents dtpStartDate As DateTimePicker + Friend WithEvents lblStartDate As Label + Friend WithEvents lblZeile1 As Label + Friend WithEvents cmbTvTextBezeichnungAuswahl As ComboBox + Friend WithEvents lblBezeichnung As Label + Friend WithEvents lblPosition As Label + Friend WithEvents cmbPosition As ComboBox + Friend WithEvents btnSpeichern As Button + Friend WithEvents btnLoeschen As Button + Friend WithEvents btnAbbrechen As Button + Friend WithEvents chkShowInactive As CheckBox + ' Neue Komponenten für Textformatierung - Private WithEvents btnBold As Button - Private WithEvents btnItalic As Button - Private WithEvents btnUnderline As Button - Private WithEvents btnTextColor As Button - Private WithEvents btnBackColor As Button - Private WithEvents btnAlignLeft As Button - Private WithEvents btnAlignCenter As Button - Private WithEvents btnAlignRight As Button - Private WithEvents cmbFontFamily As ComboBox - Private WithEvents cmbFontSize As ComboBox - Private WithEvents colorDialogText As ColorDialog - Private WithEvents rtbZeile1 As RichTextBox ' Geänderte TextBox zu RichTextBox + Friend WithEvents btnBold As Button + Friend WithEvents btnItalic As Button + Friend WithEvents btnUnderline As Button + Friend WithEvents btnTextColor As Button + Friend WithEvents btnBackColor As Button + Friend WithEvents btnAlignLeft As Button + Friend WithEvents btnAlignCenter As Button + Friend WithEvents btnAlignRight As Button + Friend WithEvents cmbFontFamily As ComboBox + Friend WithEvents cmbFontSize As ComboBox + Friend WithEvents colorDialogText As ColorDialog + + ' TabControl und RichTextBoxen + Friend WithEvents tabControlZeilen As TabControl + Friend WithEvents tabPageZeile1 As TabPage + Friend WithEvents tabPageZeile2 As TabPage + Friend WithEvents tabPageZeile3 As TabPage + Friend WithEvents rtbZeile1 As RichTextBox + Friend WithEvents rtbZeile2 As RichTextBox + Friend WithEvents rtbZeile3 As RichTextBox + + Friend WithEvents btnOpenSettings As Button + Private Sub InitializeComponent() + Me.btnOpenSettings = New System.Windows.Forms.Button() Me.cbxStandort = New System.Windows.Forms.ComboBox() Me.lblStandort = New System.Windows.Forms.Label() Me.dgvAVISOTV = New System.Windows.Forms.DataGridView() Me.grpEingabe = New System.Windows.Forms.GroupBox() - Me.btnBold3 = New System.Windows.Forms.Button() - Me.btnItalic3 = New System.Windows.Forms.Button() - Me.btnUnderline3 = New System.Windows.Forms.Button() - Me.btnTextColor3 = New System.Windows.Forms.Button() - Me.btnBackColor3 = New System.Windows.Forms.Button() - Me.btnAlignLeft3 = New System.Windows.Forms.Button() - Me.btnAlignCenter3 = New System.Windows.Forms.Button() - Me.btnAlignRight3 = New System.Windows.Forms.Button() - Me.cmbFontFamily3 = New System.Windows.Forms.ComboBox() - Me.cmbFontSize3 = New System.Windows.Forms.ComboBox() - Me.btnBold2 = New System.Windows.Forms.Button() - Me.btnItalic2 = New System.Windows.Forms.Button() - Me.btnUnderline2 = New System.Windows.Forms.Button() - Me.btnTextColor2 = New System.Windows.Forms.Button() - Me.btnBackColor2 = New System.Windows.Forms.Button() - Me.btnAlignLeft2 = New System.Windows.Forms.Button() - Me.btnAlignCenter2 = New System.Windows.Forms.Button() - Me.btnAlignRight2 = New System.Windows.Forms.Button() - Me.cmbFontFamily2 = New System.Windows.Forms.ComboBox() - Me.cmbFontSize2 = New System.Windows.Forms.ComboBox() - Me.rtbZeile3 = New System.Windows.Forms.RichTextBox() + Me.tabControlZeilen = New System.Windows.Forms.TabControl() + Me.tabPageZeile1 = New System.Windows.Forms.TabPage() + Me.rtbZeile1 = New System.Windows.Forms.RichTextBox() + Me.tabPageZeile2 = New System.Windows.Forms.TabPage() Me.rtbZeile2 = New System.Windows.Forms.RichTextBox() + Me.tabPageZeile3 = New System.Windows.Forms.TabPage() + Me.rtbZeile3 = New System.Windows.Forms.RichTextBox() Me.lblNeueTvTextBezeichnung = New System.Windows.Forms.Label() Me.txtNeueTvTextBezeichnung = New System.Windows.Forms.TextBox() Me.chkIsActive = New System.Windows.Forms.CheckBox() @@ -77,9 +109,6 @@ Partial Class frmEintragTvNew Me.lblEndDate = New System.Windows.Forms.Label() Me.dtpStartDate = New System.Windows.Forms.DateTimePicker() Me.lblStartDate = New System.Windows.Forms.Label() - Me.lblZeile3 = New System.Windows.Forms.Label() - Me.lblZeile2 = New System.Windows.Forms.Label() - Me.rtbZeile1 = New System.Windows.Forms.RichTextBox() Me.lblZeile1 = New System.Windows.Forms.Label() Me.cmbTvTextBezeichnungAuswahl = New System.Windows.Forms.ComboBox() Me.lblBezeichnung = New System.Windows.Forms.Label() @@ -102,8 +131,21 @@ Partial Class frmEintragTvNew Me.colorDialogText = New System.Windows.Forms.ColorDialog() CType(Me.dgvAVISOTV, System.ComponentModel.ISupportInitialize).BeginInit() Me.grpEingabe.SuspendLayout() + Me.tabControlZeilen.SuspendLayout() + Me.tabPageZeile1.SuspendLayout() + Me.tabPageZeile2.SuspendLayout() + Me.tabPageZeile3.SuspendLayout() Me.grpWochentage.SuspendLayout() Me.SuspendLayout() + + Me.btnOpenSettings.Location = New System.Drawing.Point(15, 1010) + Me.btnOpenSettings.Name = "btnOpenSettings" + Me.btnOpenSettings.Size = New System.Drawing.Size(150, 30) + Me.btnOpenSettings.TabIndex = 8 + Me.btnOpenSettings.Text = "TV Einstellungen" + Me.btnOpenSettings.UseVisualStyleBackColor = True + + ' 'cbxStandort ' @@ -138,28 +180,7 @@ Partial Class frmEintragTvNew ' 'grpEingabe ' - Me.grpEingabe.Controls.Add(Me.btnBold3) - Me.grpEingabe.Controls.Add(Me.btnItalic3) - Me.grpEingabe.Controls.Add(Me.btnUnderline3) - Me.grpEingabe.Controls.Add(Me.btnTextColor3) - Me.grpEingabe.Controls.Add(Me.btnBackColor3) - Me.grpEingabe.Controls.Add(Me.btnAlignLeft3) - Me.grpEingabe.Controls.Add(Me.btnAlignCenter3) - Me.grpEingabe.Controls.Add(Me.btnAlignRight3) - Me.grpEingabe.Controls.Add(Me.cmbFontFamily3) - Me.grpEingabe.Controls.Add(Me.cmbFontSize3) - Me.grpEingabe.Controls.Add(Me.btnBold2) - Me.grpEingabe.Controls.Add(Me.btnItalic2) - Me.grpEingabe.Controls.Add(Me.btnUnderline2) - Me.grpEingabe.Controls.Add(Me.btnTextColor2) - Me.grpEingabe.Controls.Add(Me.btnBackColor2) - Me.grpEingabe.Controls.Add(Me.btnAlignLeft2) - Me.grpEingabe.Controls.Add(Me.btnAlignCenter2) - Me.grpEingabe.Controls.Add(Me.btnAlignRight2) - Me.grpEingabe.Controls.Add(Me.cmbFontFamily2) - Me.grpEingabe.Controls.Add(Me.cmbFontSize2) - Me.grpEingabe.Controls.Add(Me.rtbZeile3) - Me.grpEingabe.Controls.Add(Me.rtbZeile2) + Me.grpEingabe.Controls.Add(Me.tabControlZeilen) Me.grpEingabe.Controls.Add(Me.lblNeueTvTextBezeichnung) Me.grpEingabe.Controls.Add(Me.txtNeueTvTextBezeichnung) Me.grpEingabe.Controls.Add(Me.chkIsActive) @@ -173,9 +194,6 @@ Partial Class frmEintragTvNew Me.grpEingabe.Controls.Add(Me.lblEndDate) Me.grpEingabe.Controls.Add(Me.dtpStartDate) Me.grpEingabe.Controls.Add(Me.lblStartDate) - Me.grpEingabe.Controls.Add(Me.lblZeile3) - Me.grpEingabe.Controls.Add(Me.lblZeile2) - Me.grpEingabe.Controls.Add(Me.rtbZeile1) Me.grpEingabe.Controls.Add(Me.lblZeile1) Me.grpEingabe.Controls.Add(Me.cmbTvTextBezeichnungAuswahl) Me.grpEingabe.Controls.Add(Me.lblBezeichnung) @@ -198,202 +216,77 @@ Partial Class frmEintragTvNew Me.grpEingabe.TabStop = False Me.grpEingabe.Text = "Informationen eingeben" ' - 'btnBold3 + 'tabControlZeilen ' - Me.btnBold3.Location = New System.Drawing.Point(100, 449) - Me.btnBold3.Name = "btnBold3" - Me.btnBold3.Size = New System.Drawing.Size(30, 30) - Me.btnBold3.TabIndex = 45 - Me.btnBold3.Text = "B" - Me.btnBold3.UseVisualStyleBackColor = True + Me.tabControlZeilen.Controls.Add(Me.tabPageZeile1) + Me.tabControlZeilen.Controls.Add(Me.tabPageZeile2) + Me.tabControlZeilen.Controls.Add(Me.tabPageZeile3) + Me.tabControlZeilen.Location = New System.Drawing.Point(40, 100) + Me.tabControlZeilen.Name = "tabControlZeilen" + Me.tabControlZeilen.SelectedIndex = 0 + Me.tabControlZeilen.Size = New System.Drawing.Size(1235, 332) + Me.tabControlZeilen.TabIndex = 35 ' - 'btnItalic3 + 'tabPageZeile1 ' - Me.btnItalic3.Location = New System.Drawing.Point(140, 449) - Me.btnItalic3.Name = "btnItalic3" - Me.btnItalic3.Size = New System.Drawing.Size(30, 30) - Me.btnItalic3.TabIndex = 46 - Me.btnItalic3.Text = "I" - Me.btnItalic3.UseVisualStyleBackColor = True + Me.tabPageZeile1.Controls.Add(Me.rtbZeile1) + Me.tabPageZeile1.Location = New System.Drawing.Point(4, 22) + Me.tabPageZeile1.Name = "tabPageZeile1" + Me.tabPageZeile1.Padding = New System.Windows.Forms.Padding(3) + Me.tabPageZeile1.Size = New System.Drawing.Size(1227, 306) + Me.tabPageZeile1.TabIndex = 0 + Me.tabPageZeile1.Text = "Deutsch" + Me.tabPageZeile1.UseVisualStyleBackColor = True ' - 'btnUnderline3 + 'rtbZeile1 ' - Me.btnUnderline3.Location = New System.Drawing.Point(180, 449) - Me.btnUnderline3.Name = "btnUnderline3" - Me.btnUnderline3.Size = New System.Drawing.Size(30, 30) - Me.btnUnderline3.TabIndex = 47 - Me.btnUnderline3.Text = "U" - Me.btnUnderline3.UseVisualStyleBackColor = True + Me.rtbZeile1.Dock = System.Windows.Forms.DockStyle.Fill + Me.rtbZeile1.Location = New System.Drawing.Point(3, 3) + Me.rtbZeile1.Name = "rtbZeile1" + Me.rtbZeile1.Size = New System.Drawing.Size(1221, 300) + Me.rtbZeile1.TabIndex = 0 + Me.rtbZeile1.Text = "" ' - 'btnTextColor3 + 'tabPageZeile2 ' - Me.btnTextColor3.Location = New System.Drawing.Point(302, 449) - Me.btnTextColor3.Name = "btnTextColor3" - Me.btnTextColor3.Size = New System.Drawing.Size(30, 30) - Me.btnTextColor3.TabIndex = 48 - Me.btnTextColor3.Text = "A" - Me.btnTextColor3.UseVisualStyleBackColor = True - ' - 'btnBackColor3 - ' - Me.btnBackColor3.Location = New System.Drawing.Point(342, 449) - Me.btnBackColor3.Name = "btnBackColor3" - Me.btnBackColor3.Size = New System.Drawing.Size(30, 30) - Me.btnBackColor3.TabIndex = 49 - Me.btnBackColor3.Text = "BG" - Me.btnBackColor3.UseVisualStyleBackColor = True - ' - 'btnAlignLeft3 - ' - Me.btnAlignLeft3.Location = New System.Drawing.Point(471, 449) - Me.btnAlignLeft3.Name = "btnAlignLeft3" - Me.btnAlignLeft3.Size = New System.Drawing.Size(30, 30) - Me.btnAlignLeft3.TabIndex = 50 - Me.btnAlignLeft3.Text = "L" - Me.btnAlignLeft3.UseVisualStyleBackColor = True - ' - 'btnAlignCenter3 - ' - Me.btnAlignCenter3.Location = New System.Drawing.Point(511, 449) - Me.btnAlignCenter3.Name = "btnAlignCenter3" - Me.btnAlignCenter3.Size = New System.Drawing.Size(30, 30) - Me.btnAlignCenter3.TabIndex = 51 - Me.btnAlignCenter3.Text = "C" - Me.btnAlignCenter3.UseVisualStyleBackColor = True - ' - 'btnAlignRight3 - ' - Me.btnAlignRight3.Location = New System.Drawing.Point(551, 449) - Me.btnAlignRight3.Name = "btnAlignRight3" - Me.btnAlignRight3.Size = New System.Drawing.Size(30, 30) - Me.btnAlignRight3.TabIndex = 52 - Me.btnAlignRight3.Text = "R" - Me.btnAlignRight3.UseVisualStyleBackColor = True - ' - 'cmbFontFamily3 - ' - Me.cmbFontFamily3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList - Me.cmbFontFamily3.FormattingEnabled = True - Me.cmbFontFamily3.Location = New System.Drawing.Point(734, 449) - Me.cmbFontFamily3.Name = "cmbFontFamily3" - Me.cmbFontFamily3.Size = New System.Drawing.Size(150, 21) - Me.cmbFontFamily3.TabIndex = 53 - ' - 'cmbFontSize3 - ' - Me.cmbFontSize3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList - Me.cmbFontSize3.FormattingEnabled = True - Me.cmbFontSize3.Location = New System.Drawing.Point(911, 449) - Me.cmbFontSize3.Name = "cmbFontSize3" - Me.cmbFontSize3.Size = New System.Drawing.Size(60, 21) - Me.cmbFontSize3.TabIndex = 54 - ' - 'btnBold2 - ' - Me.btnBold2.Location = New System.Drawing.Point(101, 307) - Me.btnBold2.Name = "btnBold2" - Me.btnBold2.Size = New System.Drawing.Size(30, 30) - Me.btnBold2.TabIndex = 35 - Me.btnBold2.Text = "B" - Me.btnBold2.UseVisualStyleBackColor = True - ' - 'btnItalic2 - ' - Me.btnItalic2.Location = New System.Drawing.Point(141, 307) - Me.btnItalic2.Name = "btnItalic2" - Me.btnItalic2.Size = New System.Drawing.Size(30, 30) - Me.btnItalic2.TabIndex = 36 - Me.btnItalic2.Text = "I" - Me.btnItalic2.UseVisualStyleBackColor = True - ' - 'btnUnderline2 - ' - Me.btnUnderline2.Location = New System.Drawing.Point(181, 307) - Me.btnUnderline2.Name = "btnUnderline2" - Me.btnUnderline2.Size = New System.Drawing.Size(30, 30) - Me.btnUnderline2.TabIndex = 37 - Me.btnUnderline2.Text = "U" - Me.btnUnderline2.UseVisualStyleBackColor = True - ' - 'btnTextColor2 - ' - Me.btnTextColor2.Location = New System.Drawing.Point(303, 307) - Me.btnTextColor2.Name = "btnTextColor2" - Me.btnTextColor2.Size = New System.Drawing.Size(30, 30) - Me.btnTextColor2.TabIndex = 38 - Me.btnTextColor2.Text = "A" - Me.btnTextColor2.UseVisualStyleBackColor = True - ' - 'btnBackColor2 - ' - Me.btnBackColor2.Location = New System.Drawing.Point(343, 307) - Me.btnBackColor2.Name = "btnBackColor2" - Me.btnBackColor2.Size = New System.Drawing.Size(30, 30) - Me.btnBackColor2.TabIndex = 39 - Me.btnBackColor2.Text = "BG" - Me.btnBackColor2.UseVisualStyleBackColor = True - ' - 'btnAlignLeft2 - ' - Me.btnAlignLeft2.Location = New System.Drawing.Point(472, 307) - Me.btnAlignLeft2.Name = "btnAlignLeft2" - Me.btnAlignLeft2.Size = New System.Drawing.Size(30, 30) - Me.btnAlignLeft2.TabIndex = 40 - Me.btnAlignLeft2.Text = "L" - Me.btnAlignLeft2.UseVisualStyleBackColor = True - ' - 'btnAlignCenter2 - ' - Me.btnAlignCenter2.Location = New System.Drawing.Point(512, 307) - Me.btnAlignCenter2.Name = "btnAlignCenter2" - Me.btnAlignCenter2.Size = New System.Drawing.Size(30, 30) - Me.btnAlignCenter2.TabIndex = 41 - Me.btnAlignCenter2.Text = "C" - Me.btnAlignCenter2.UseVisualStyleBackColor = True - ' - 'btnAlignRight2 - ' - Me.btnAlignRight2.Location = New System.Drawing.Point(552, 307) - Me.btnAlignRight2.Name = "btnAlignRight2" - Me.btnAlignRight2.Size = New System.Drawing.Size(30, 30) - Me.btnAlignRight2.TabIndex = 42 - Me.btnAlignRight2.Text = "R" - Me.btnAlignRight2.UseVisualStyleBackColor = True - ' - 'cmbFontFamily2 - ' - Me.cmbFontFamily2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList - Me.cmbFontFamily2.FormattingEnabled = True - Me.cmbFontFamily2.Location = New System.Drawing.Point(735, 307) - Me.cmbFontFamily2.Name = "cmbFontFamily2" - Me.cmbFontFamily2.Size = New System.Drawing.Size(150, 21) - Me.cmbFontFamily2.TabIndex = 43 - ' - 'cmbFontSize2 - ' - Me.cmbFontSize2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList - Me.cmbFontSize2.FormattingEnabled = True - Me.cmbFontSize2.Location = New System.Drawing.Point(912, 307) - Me.cmbFontSize2.Name = "cmbFontSize2" - Me.cmbFontSize2.Size = New System.Drawing.Size(60, 21) - Me.cmbFontSize2.TabIndex = 44 - ' - 'rtbZeile3 - ' - Me.rtbZeile3.Location = New System.Drawing.Point(100, 363) - Me.rtbZeile3.Name = "rtbZeile3" - Me.rtbZeile3.Size = New System.Drawing.Size(1180, 80) - Me.rtbZeile3.TabIndex = 34 - Me.rtbZeile3.Text = "" + Me.tabPageZeile2.Controls.Add(Me.rtbZeile2) + Me.tabPageZeile2.Location = New System.Drawing.Point(4, 22) + Me.tabPageZeile2.Name = "tabPageZeile2" + Me.tabPageZeile2.Padding = New System.Windows.Forms.Padding(3) + Me.tabPageZeile2.Size = New System.Drawing.Size(1227, 306) + Me.tabPageZeile2.TabIndex = 1 + Me.tabPageZeile2.Text = "Englisch" + Me.tabPageZeile2.UseVisualStyleBackColor = True ' 'rtbZeile2 ' - Me.rtbZeile2.Location = New System.Drawing.Point(101, 221) + Me.rtbZeile2.Dock = System.Windows.Forms.DockStyle.Fill + Me.rtbZeile2.Location = New System.Drawing.Point(3, 3) Me.rtbZeile2.Name = "rtbZeile2" - Me.rtbZeile2.Size = New System.Drawing.Size(1180, 80) - Me.rtbZeile2.TabIndex = 33 + Me.rtbZeile2.Size = New System.Drawing.Size(1221, 300) + Me.rtbZeile2.TabIndex = 0 Me.rtbZeile2.Text = "" ' + 'tabPageZeile3 + ' + Me.tabPageZeile3.Controls.Add(Me.rtbZeile3) + Me.tabPageZeile3.Location = New System.Drawing.Point(4, 22) + Me.tabPageZeile3.Name = "tabPageZeile3" + Me.tabPageZeile3.Padding = New System.Windows.Forms.Padding(3) + Me.tabPageZeile3.Size = New System.Drawing.Size(1227, 306) + Me.tabPageZeile3.TabIndex = 2 + Me.tabPageZeile3.Text = "Türkisch" + Me.tabPageZeile3.UseVisualStyleBackColor = True + ' + 'rtbZeile3 + ' + Me.rtbZeile3.Dock = System.Windows.Forms.DockStyle.Fill + Me.rtbZeile3.Location = New System.Drawing.Point(3, 3) + Me.rtbZeile3.Name = "rtbZeile3" + Me.rtbZeile3.Size = New System.Drawing.Size(1221, 300) + Me.rtbZeile3.TabIndex = 0 + Me.rtbZeile3.Text = "" + ' 'lblNeueTvTextBezeichnung ' Me.lblNeueTvTextBezeichnung.AutoSize = True @@ -590,32 +483,6 @@ Partial Class frmEintragTvNew Me.lblStartDate.TabIndex = 8 Me.lblStartDate.Text = "Startdatum: " ' - 'lblZeile3 - ' - Me.lblZeile3.AutoSize = True - Me.lblZeile3.Location = New System.Drawing.Point(42, 388) - Me.lblZeile3.Name = "lblZeile3" - Me.lblZeile3.Size = New System.Drawing.Size(42, 13) - Me.lblZeile3.TabIndex = 6 - Me.lblZeile3.Text = "Zeile 3:" - ' - 'lblZeile2 - ' - Me.lblZeile2.AutoSize = True - Me.lblZeile2.Location = New System.Drawing.Point(43, 255) - Me.lblZeile2.Name = "lblZeile2" - Me.lblZeile2.Size = New System.Drawing.Size(42, 13) - Me.lblZeile2.TabIndex = 4 - Me.lblZeile2.Text = "Zeile 2:" - ' - 'rtbZeile1 - ' - Me.rtbZeile1.Location = New System.Drawing.Point(100, 79) - Me.rtbZeile1.Name = "rtbZeile1" - Me.rtbZeile1.Size = New System.Drawing.Size(1180, 80) - Me.rtbZeile1.TabIndex = 3 - Me.rtbZeile1.Text = "" - ' 'lblZeile1 ' Me.lblZeile1.AutoSize = True @@ -664,7 +531,7 @@ Partial Class frmEintragTvNew ' 'btnBold ' - Me.btnBold.Location = New System.Drawing.Point(100, 165) + Me.btnBold.Location = New System.Drawing.Point(40, 438) Me.btnBold.Name = "btnBold" Me.btnBold.Size = New System.Drawing.Size(30, 30) Me.btnBold.TabIndex = 23 @@ -673,7 +540,7 @@ Partial Class frmEintragTvNew ' 'btnItalic ' - Me.btnItalic.Location = New System.Drawing.Point(140, 165) + Me.btnItalic.Location = New System.Drawing.Point(80, 438) Me.btnItalic.Name = "btnItalic" Me.btnItalic.Size = New System.Drawing.Size(30, 30) Me.btnItalic.TabIndex = 24 @@ -682,7 +549,7 @@ Partial Class frmEintragTvNew ' 'btnUnderline ' - Me.btnUnderline.Location = New System.Drawing.Point(180, 165) + Me.btnUnderline.Location = New System.Drawing.Point(120, 438) Me.btnUnderline.Name = "btnUnderline" Me.btnUnderline.Size = New System.Drawing.Size(30, 30) Me.btnUnderline.TabIndex = 25 @@ -691,7 +558,7 @@ Partial Class frmEintragTvNew ' 'btnTextColor ' - Me.btnTextColor.Location = New System.Drawing.Point(302, 165) + Me.btnTextColor.Location = New System.Drawing.Point(200, 438) Me.btnTextColor.Name = "btnTextColor" Me.btnTextColor.Size = New System.Drawing.Size(30, 30) Me.btnTextColor.TabIndex = 26 @@ -700,16 +567,16 @@ Partial Class frmEintragTvNew ' 'btnBackColor ' - Me.btnBackColor.Location = New System.Drawing.Point(342, 165) + Me.btnBackColor.Location = New System.Drawing.Point(240, 438) Me.btnBackColor.Name = "btnBackColor" - Me.btnBackColor.Size = New System.Drawing.Size(30, 30) + Me.btnBackColor.Size = New System.Drawing.Size(50, 30) Me.btnBackColor.TabIndex = 27 Me.btnBackColor.Text = "BG" Me.btnBackColor.UseVisualStyleBackColor = True ' 'btnAlignLeft ' - Me.btnAlignLeft.Location = New System.Drawing.Point(471, 165) + Me.btnAlignLeft.Location = New System.Drawing.Point(310, 438) Me.btnAlignLeft.Name = "btnAlignLeft" Me.btnAlignLeft.Size = New System.Drawing.Size(30, 30) Me.btnAlignLeft.TabIndex = 28 @@ -718,7 +585,7 @@ Partial Class frmEintragTvNew ' 'btnAlignCenter ' - Me.btnAlignCenter.Location = New System.Drawing.Point(511, 165) + Me.btnAlignCenter.Location = New System.Drawing.Point(350, 438) Me.btnAlignCenter.Name = "btnAlignCenter" Me.btnAlignCenter.Size = New System.Drawing.Size(30, 30) Me.btnAlignCenter.TabIndex = 29 @@ -727,7 +594,7 @@ Partial Class frmEintragTvNew ' 'btnAlignRight ' - Me.btnAlignRight.Location = New System.Drawing.Point(551, 165) + Me.btnAlignRight.Location = New System.Drawing.Point(390, 438) Me.btnAlignRight.Name = "btnAlignRight" Me.btnAlignRight.Size = New System.Drawing.Size(30, 30) Me.btnAlignRight.TabIndex = 30 @@ -738,7 +605,7 @@ Partial Class frmEintragTvNew ' Me.cmbFontFamily.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cmbFontFamily.FormattingEnabled = True - Me.cmbFontFamily.Location = New System.Drawing.Point(734, 165) + Me.cmbFontFamily.Location = New System.Drawing.Point(495, 438) Me.cmbFontFamily.Name = "cmbFontFamily" Me.cmbFontFamily.Size = New System.Drawing.Size(150, 21) Me.cmbFontFamily.TabIndex = 31 @@ -747,7 +614,7 @@ Partial Class frmEintragTvNew ' Me.cmbFontSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cmbFontSize.FormattingEnabled = True - Me.cmbFontSize.Location = New System.Drawing.Point(911, 165) + Me.cmbFontSize.Location = New System.Drawing.Point(670, 438) Me.cmbFontSize.Name = "cmbFontSize" Me.cmbFontSize.Size = New System.Drawing.Size(60, 21) Me.cmbFontSize.TabIndex = 32 @@ -782,7 +649,7 @@ Partial Class frmEintragTvNew 'chkShowInactive ' Me.chkShowInactive.AutoSize = True - Me.chkShowInactive.Location = New System.Drawing.Point(230, 27) + Me.chkShowInactive.Location = New System.Drawing.Point(1205, 29) Me.chkShowInactive.Name = "chkShowInactive" Me.chkShowInactive.Size = New System.Drawing.Size(110, 17) Me.chkShowInactive.TabIndex = 1 @@ -800,6 +667,7 @@ Partial Class frmEintragTvNew Me.Controls.Add(Me.dgvAVISOTV) Me.Controls.Add(Me.lblStandort) Me.Controls.Add(Me.cbxStandort) + Me.Controls.Add(Me.btnOpenSettings) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle Me.MaximizeBox = False Me.Name = "frmEintragTvNew" @@ -808,69 +676,14 @@ Partial Class frmEintragTvNew CType(Me.dgvAVISOTV, System.ComponentModel.ISupportInitialize).EndInit() Me.grpEingabe.ResumeLayout(False) Me.grpEingabe.PerformLayout() + Me.tabControlZeilen.ResumeLayout(False) + Me.tabPageZeile1.ResumeLayout(False) + Me.tabPageZeile2.ResumeLayout(False) + Me.tabPageZeile3.ResumeLayout(False) Me.grpWochentage.ResumeLayout(False) Me.grpWochentage.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout() End Sub - - Friend WithEvents cbxStandort As ComboBox - Friend WithEvents lblStandort As Label - Friend WithEvents dgvAVISOTV As DataGridView - Friend WithEvents grpEingabe As GroupBox - Friend WithEvents lblNeueTvTextBezeichnung As Label - Friend WithEvents txtNeueTvTextBezeichnung As TextBox - Friend WithEvents chkIsActive As CheckBox - Friend WithEvents chkIsRecurring As CheckBox - Friend WithEvents grpWochentage As GroupBox - Friend WithEvents chkSunday As CheckBox - Friend WithEvents chkSaturday As CheckBox - Friend WithEvents chkFriday As CheckBox - Friend WithEvents chkThursday As CheckBox - Friend WithEvents chkWednesday As CheckBox - Friend WithEvents chkTuesday As CheckBox - Friend WithEvents chkMonday As CheckBox - Friend WithEvents dtpEndTime As DateTimePicker - Friend WithEvents lblEndTime As Label - Friend WithEvents dtpStartTime As DateTimePicker - Friend WithEvents lblStartTime As Label - Friend WithEvents dtpEndDate As DateTimePicker - Friend WithEvents lblEndDate As Label - Friend WithEvents dtpStartDate As DateTimePicker - Friend WithEvents lblStartDate As Label - Friend WithEvents lblZeile3 As Label - Friend WithEvents lblZeile2 As Label - Friend WithEvents lblZeile1 As Label - Friend WithEvents cmbTvTextBezeichnungAuswahl As ComboBox - Friend WithEvents lblBezeichnung As Label - Friend WithEvents lblPosition As Label - Friend WithEvents cmbPosition As ComboBox - Friend WithEvents btnSpeichern As Button - Friend WithEvents btnLoeschen As Button - Friend WithEvents btnAbbrechen As Button - Friend WithEvents chkShowInactive As CheckBox - Private WithEvents rtbZeile3 As RichTextBox - Private WithEvents rtbZeile2 As RichTextBox - Private WithEvents btnBold3 As Button - Private WithEvents btnItalic3 As Button - Private WithEvents btnUnderline3 As Button - Private WithEvents btnTextColor3 As Button - Private WithEvents btnBackColor3 As Button - Private WithEvents btnAlignLeft3 As Button - Private WithEvents btnAlignCenter3 As Button - Private WithEvents btnAlignRight3 As Button - Private WithEvents cmbFontFamily3 As ComboBox - Private WithEvents cmbFontSize3 As ComboBox - Private WithEvents btnBold2 As Button - Private WithEvents btnItalic2 As Button - Private WithEvents btnUnderline2 As Button - Private WithEvents btnTextColor2 As Button - Private WithEvents btnBackColor2 As Button - Private WithEvents btnAlignLeft2 As Button - Private WithEvents btnAlignCenter2 As Button - Private WithEvents btnAlignRight2 As Button - Private WithEvents cmbFontFamily2 As ComboBox - Private WithEvents cmbFontSize2 As ComboBox - End Class diff --git a/Aviso/frmEintragTvNew.resx b/Aviso/frmEintragTvNew.resx index 1af7de1..0a3bfe1 100644 --- a/Aviso/frmEintragTvNew.resx +++ b/Aviso/frmEintragTvNew.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/Aviso/frmEintragTvNew.vb b/Aviso/frmEintragTvNew.vb index 0f4b29d..811a7d4 100644 --- a/Aviso/frmEintragTvNew.vb +++ b/Aviso/frmEintragTvNew.vb @@ -23,8 +23,11 @@ Public Class frmEintragTvNew Private Sub frmEintragTvNew_Load(sender As Object, e As EventArgs) Handles MyBase.Load LadeStandorte() - LadeTvTextBezeichnungen() + ' Erst alle Einträge laden, damit listAll bereits gefüllt ist LadenAlleEintraege() + ' Dann erst die Bezeichnungen laden + LadeTvTextBezeichnungen() + grpWochentage.Enabled = chkIsRecurring.Checked dgvAVISOTV.SelectionMode = DataGridViewSelectionMode.FullRowSelect dgvAVISOTV.MultiSelect = False @@ -35,6 +38,7 @@ Public Class frmEintragTvNew chkIsActive.Checked = True End Sub + Private Sub LadenAlleEintraege() Try AvisoTvNewDAL.LesenAlleAvisoTvNew(listAll) @@ -53,11 +57,11 @@ Public Class frmEintragTvNew Return End If - Dim sql As String = "SELECT DISTINCT Standort FROM StandorteTV ORDER BY Standort" + Dim sql As String = "SELECT DISTINCT StandortBezeichnung FROM StandorteTV ORDER BY StandortBezeichnung" Using cmd As New SqlCommand(sql, conn) Using dr As SqlDataReader = cmd.ExecuteReader() While dr.Read() - Dim standort As String = Convert.ToString(dr("Standort")) + Dim standort As String = Convert.ToString(dr("StandortBezeichnung")) standorte.Add(standort) End While End Using @@ -73,78 +77,56 @@ Public Class frmEintragTvNew If cbxStandort.Items.Count > 0 Then cbxStandort.SelectedIndex = 0 End Sub + ' Neue parameterlose initdgv-Methode Private Sub initdgv() - Try - RemoveHandler dgvAVISOTV.SelectionChanged, AddressOf dgvAVISOTV_SelectionChanged + Dim selectedStandort As String = If(cbxStandort.SelectedItem IsNot Nothing, cbxStandort.SelectedItem.ToString(), "") + initdgv(selectedStandort) + End Sub + + Private Sub initdgv(selectedStandort As String) + Try + ' Entfernen Sie vorhandene Event-Handler, um Doppelbindungen zu vermeiden + RemoveHandler dgvAVISOTV.SelectionChanged, AddressOf dgvAVISOTV_SelectionChanged + RemoveHandler dgvAVISOTV.CellFormatting, AddressOf dgvAVISOTV_CellFormatting + + Dim standortID As Integer = AvisoTvNewDAL.GetStandortID(selectedStandort) - Dim standort As String = cbxStandort.SelectedItem?.ToString() Dim showInactive As Boolean = chkShowInactive.Checked Dim gefilterteListe As List(Of cAvisoTvNew) If showInactive Then - gefilterteListe = list.Where(Function(x) x.Standort = standort).ToList() + gefilterteListe = list.Where(Function(x) x.StandortID = standortID).ToList() Else - gefilterteListe = list.Where(Function(x) x.Standort = standort AndAlso x.IsActive).ToList() + gefilterteListe = list.Where(Function(x) x.StandortID = standortID AndAlso x.IsActive).ToList() End If + ' Zurücksetzen der DataSource und Löschen der Zeilen dgvAVISOTV.DataSource = Nothing dgvAVISOTV.Rows.Clear() If gefilterteListe.Count > 0 Then dgvAVISOTV.DataSource = gefilterteListe - ' Anpassen der Spaltenüberschriften - dgvAVISOTV.Columns("TvTextBezeichnungID").HeaderText = "ID" - dgvAVISOTV.Columns("TvTextBezeichnung").HeaderText = "Bezeichnung" - dgvAVISOTV.Columns("FixeZeile1RTF").HeaderText = "Zeile 1 (Text)" - dgvAVISOTV.Columns("FixeZeile2RTF").HeaderText = "Zeile 2 (Text)" - dgvAVISOTV.Columns("FixeZeile3RTF").HeaderText = "Zeile 3 (Text)" - dgvAVISOTV.Columns("Standort").Visible = False - dgvAVISOTV.Columns("Art").Visible = False - dgvAVISOTV.Columns("StartDate").HeaderText = "Startdatum" - dgvAVISOTV.Columns("EndDate").HeaderText = "Enddatum" - dgvAVISOTV.Columns("StartTime").HeaderText = "Startzeit" - dgvAVISOTV.Columns("EndTime").HeaderText = "Endzeit" - dgvAVISOTV.Columns("IsRecurring").HeaderText = "Wiederholen" - dgvAVISOTV.Columns("IsActive").HeaderText = "Aktiv" - dgvAVISOTV.Columns("IsMonday").Visible = False - dgvAVISOTV.Columns("IsTuesday").Visible = False - dgvAVISOTV.Columns("IsWednesday").Visible = False - dgvAVISOTV.Columns("IsThursday").Visible = False - dgvAVISOTV.Columns("IsFriday").Visible = False - dgvAVISOTV.Columns("IsSaturday").Visible = False - dgvAVISOTV.Columns("IsSunday").Visible = False + ' Anpassen der Spaltenüberschriften und Sichtbarkeiten + ConfigureDataGridViewColumns() - ' Hinzufügen des CellFormatting-Handlers - AddHandler dgvAVISOTV.CellFormatting, AddressOf dgvAVISOTV_CellFormatting + AddFixeZeileTextColumns() + + ' Konvertieren von RTF-Inhalten zu reinem Text + ConvertRtfToPlainText() dgvAVISOTV.AutoResizeColumns() + ' Wiederhinzufügen der Event-Handler AddHandler dgvAVISOTV.SelectionChanged, AddressOf dgvAVISOTV_SelectionChanged - ' **Wiederherstellung der Auswahl basierend auf lastSelectedTVID** - If lastSelectedTVID <> 0 Then - Dim rowToSelect = dgvAVISOTV.Rows.Cast(Of DataGridViewRow)().FirstOrDefault(Function(r) CType(r.DataBoundItem, cAvisoTvNew).TvTextBezeichnungID = lastSelectedTVID) - If rowToSelect IsNot Nothing Then - rowToSelect.Selected = True - - dgvAVISOTV.FirstDisplayedScrollingRowIndex = rowToSelect.Index - dgvAVISOTV.CurrentCell = rowToSelect.Cells(0) - Else - ' Falls die TVID nicht gefunden wird, wähle die erste Zeile aus - If dgvAVISOTV.Rows.Count > 0 Then - dgvAVISOTV.Rows(0).Selected = True - dgvAVISOTV.CurrentCell = dgvAVISOTV.Rows(0).Cells(0) - dgvAVISOTV_SelectionChanged(Nothing, Nothing) - End If - End If - ElseIf dgvAVISOTV.Rows.Count > 0 Then - dgvAVISOTV.Rows(0).Selected = True - dgvAVISOTV.CurrentCell = dgvAVISOTV.Rows(0).Cells(0) - dgvAVISOTV_SelectionChanged(Nothing, Nothing) - End If + ' Wiederherstellung der Auswahl basierend auf lastSelectedTVID + RestoreSelection() Else + ' Wiederhinzufügen der Event-Handler AddHandler dgvAVISOTV.SelectionChanged, AddressOf dgvAVISOTV_SelectionChanged + + ' Felder leeren und Auswahl zurücksetzen ClearFields() myAvisoTvNew = Nothing End If @@ -157,6 +139,129 @@ Public Class frmEintragTvNew End Try End Sub + ' Neue Methode zum Konfigurieren der Spaltenüberschriften und Sichtbarkeiten + Private Sub ConfigureDataGridViewColumns() + ' Anpassen der Spaltenüberschriften + Dim headerTexts As New Dictionary(Of String, String) From { + {"TvTextBezeichnungID", "ID"}, + {"TvTextBezeichnung", "Bezeichnung"}, + {"StartDate", "Startdatum"}, + {"EndDate", "Enddatum"}, + {"StartTime", "Startzeit"}, + {"EndTime", "Endzeit"}, + {"IsRecurring", "Wiederholen"}, + {"IsActive", "Aktiv"} + } + + For Each columnName As String In headerTexts.Keys + If dgvAVISOTV.Columns.Contains(columnName) Then + dgvAVISOTV.Columns(columnName).HeaderText = headerTexts(columnName) + End If + Next + + ' Verstecken der unnötigen Spalten + Dim columnsToHide As String() = { + "FixeZeile1RTF", "FixeZeile2RTF", "FixeZeile3RTF", + "Standort", "Art", + "IsMonday", "IsTuesday", "IsWednesday", + "IsThursday", "IsFriday", "IsSaturday", "IsSunday", "StandortID", "FixeZeile1HTML", "FixeZeile2HTML", "FixeZeile3HTML" + } + + For Each columnName As String In columnsToHide + If dgvAVISOTV.Columns.Contains(columnName) Then + dgvAVISOTV.Columns(columnName).Visible = False + End If + Next + End Sub + + Private Sub AddFixeZeileTextColumns() + Dim textColumns As New List(Of DataGridViewTextBoxColumn) From { + New DataGridViewTextBoxColumn() With { + .Name = "FixeZeile1Text", + .HeaderText = "Deutsch", + .ReadOnly = True + }, + New DataGridViewTextBoxColumn() With { + .Name = "FixeZeile2Text", + .HeaderText = "Englisch", + .ReadOnly = True + }, + New DataGridViewTextBoxColumn() With { + .Name = "FixeZeile3Text", + .HeaderText = "Türkisch", + .ReadOnly = True + } + } + + For Each col As DataGridViewTextBoxColumn In textColumns + If Not dgvAVISOTV.Columns.Contains(col.Name) Then + dgvAVISOTV.Columns.Add(col) + End If + Next + End Sub + + ' Neue Methode zur Konvertierung von RTF zu reinem Text + Private Sub ConvertRtfToPlainText() + For Each row As DataGridViewRow In dgvAVISOTV.Rows + If Not row.IsNewRow Then + Dim rtfValue1 As String = If(row.Cells("FixeZeile1RTF").Value?.ToString(), String.Empty) + Dim rtfValue2 As String = If(row.Cells("FixeZeile2RTF").Value?.ToString(), String.Empty) + Dim rtfValue3 As String = If(row.Cells("FixeZeile3RTF").Value?.ToString(), String.Empty) + + row.Cells("FixeZeile1Text").Value = RtfToPlainText(rtfValue1) + row.Cells("FixeZeile2Text").Value = RtfToPlainText(rtfValue2) + row.Cells("FixeZeile3Text").Value = RtfToPlainText(rtfValue3) + End If + Next + End Sub + + ' Neue Methode zur Wiederherstellung der Auswahl + Private Sub RestoreSelection() + If lastSelectedTVID <> 0 Then + Dim rowToSelect = dgvAVISOTV.Rows.Cast(Of DataGridViewRow)().FirstOrDefault(Function(r) CType(r.DataBoundItem, cAvisoTvNew).TvTextBezeichnungID = lastSelectedTVID) + If rowToSelect IsNot Nothing Then + rowToSelect.Selected = True + dgvAVISOTV.FirstDisplayedScrollingRowIndex = rowToSelect.Index + dgvAVISOTV.CurrentCell = rowToSelect.Cells(0) + Dim selectedAviso As cAvisoTvNew = listAll.FirstOrDefault(Function(x) x.TvTextBezeichnungID = lastSelectedTVID AndAlso x.IsActive) + FillFieldsFromAviso(selectedAviso) + Else + ' Falls die TVID nicht gefunden wird, wähle die erste Zeile aus + SelectFirstRow() + End If + Else + ' Wenn keine letzte Auswahl vorhanden ist, wähle die erste Zeile aus + If dgvAVISOTV.Rows.Count > 0 Then + SelectFirstRow() + End If + End If + lastSelectedTVID = 0 + End Sub + + ' Hilfsmethode zum Auswählen der ersten Zeile + Private Sub SelectFirstRow() + If dgvAVISOTV.Rows.Count > 0 Then + dgvAVISOTV.Rows(0).Selected = True + dgvAVISOTV.CurrentCell = dgvAVISOTV.Rows(0).Cells(0) + dgvAVISOTV_SelectionChanged(Nothing, Nothing) + End If + End Sub + + ' Beispielhafte Implementierung der RtfToPlainText-Methode + Private Function RtfToPlainText(rtf As String) As String + If String.IsNullOrEmpty(rtf) Then Return String.Empty + Using rtb As New RichTextBox() + Try + rtb.Rtf = rtf + Return rtb.Text + Catch ex As Exception + ' Handle invalid RTF format + Return String.Empty + End Try + End Using + End Function + + Private Sub dgvAVISOTV_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) ' Definieren Sie die Namen der RTF-Spalten Dim rtfColumns As String() = {"FixeZeile1RTF", "FixeZeile2RTF", "FixeZeile3RTF"} @@ -191,9 +296,27 @@ Public Class frmEintragTvNew End Try LadeTvTextBezeichnungen() - initdgv() + initdgv(selectedStandort) End Sub + Private Sub btnOpenSettings_Click(sender As Object, e As EventArgs) Handles btnOpenSettings.Click + Dim currentStandort As String = cbxStandort.SelectedItem?.ToString() + Dim currentStandortID As Integer = 0 + + If Not String.IsNullOrEmpty(currentStandort) Then + currentStandortID = AvisoTvNewDAL.GetStandortID(currentStandort) + End If + + If currentStandortID = 0 Then + MessageBox.Show("Bitte wählen Sie einen gültigen Standort aus.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error) + Return + End If + + Dim settingsForm As New frmTvSettings(currentStandortID) + settingsForm.ShowDialog() + End Sub + + Private Sub btnNeu_Click(sender As Object, e As EventArgs) Dim standort As String = cbxStandort.SelectedItem?.ToString() If String.IsNullOrEmpty(standort) Then @@ -232,11 +355,12 @@ Public Class frmEintragTvNew End Class Private Sub cmbTvTextBezeichnungAuswahl_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbTvTextBezeichnungAuswahl.SelectedIndexChanged - If isInitializing Then + If isInitializing OrElse cmbTvTextBezeichnungAuswahl.SelectedIndex = -1 Then Return End If - If cmbTvTextBezeichnungAuswahl.SelectedValue Is Nothing OrElse cmbTvTextBezeichnungAuswahl.SelectedValue Is DBNull.Value Then + If listAll Is Nothing OrElse Not listAll.Any() Then + MessageBox.Show("Die Liste aller AvisoEinträge ist nicht geladen oder leer.", "Datenfehler", MessageBoxButtons.OK, MessageBoxIcon.Error) Return End If @@ -284,184 +408,198 @@ Public Class frmEintragTvNew End Try End Sub - Private Sub InitializeFontComboBoxes() - Dim fontFamilies As New List(Of String)() - For Each font As FontFamily In FontFamily.Families - fontFamilies.Add(font.Name) - Next - - ' Initialisierung für Zeile 1 - cmbFontFamily.DataSource = fontFamilies - cmbFontFamily.SelectedItem = rtbZeile1.Font.FontFamily.Name - - Dim sizes As Integer() = {8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72} - cmbFontSize.DataSource = sizes.Select(Function(s) s.ToString()).ToList() - cmbFontSize.SelectedItem = CInt(rtbZeile1.Font.Size).ToString() - - AddHandler cmbFontFamily.SelectedIndexChanged, AddressOf cmbFontFamily_SelectedIndexChanged - AddHandler cmbFontSize.SelectedIndexChanged, AddressOf cmbFontSize_SelectedIndexChanged - - ' Initialisierung für Zeile 2 - cmbFontFamily2.DataSource = New List(Of String)(fontFamilies) - cmbFontFamily2.SelectedItem = rtbZeile2.Font.FontFamily.Name - - cmbFontSize2.DataSource = sizes.Select(Function(s) s.ToString()).ToList() - cmbFontSize2.SelectedItem = CInt(rtbZeile2.Font.Size).ToString() - - AddHandler cmbFontFamily2.SelectedIndexChanged, AddressOf cmbFontFamily2_SelectedIndexChanged - AddHandler cmbFontSize2.SelectedIndexChanged, AddressOf cmbFontSize2_SelectedIndexChanged - - ' Initialisierung für Zeile 3 - cmbFontFamily3.DataSource = New List(Of String)(fontFamilies) - cmbFontFamily3.SelectedItem = rtbZeile3.Font.FontFamily.Name - - cmbFontSize3.DataSource = sizes.Select(Function(s) s.ToString()).ToList() - cmbFontSize3.SelectedItem = CInt(rtbZeile3.Font.Size).ToString() - - AddHandler cmbFontFamily3.SelectedIndexChanged, AddressOf cmbFontFamily3_SelectedIndexChanged - AddHandler cmbFontSize3.SelectedIndexChanged, AddressOf cmbFontSize3_SelectedIndexChanged + Private Sub tabControlZeilen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles tabControlZeilen.SelectedIndexChanged + InitializeFontComboBoxes() End Sub + Private Sub InitializeFontComboBoxes() + Try + isInitializing = True + + ' Schritt 1: Font-Familien sammeln + Dim fontFamilies As New List(Of String)() + For Each font As FontFamily In FontFamily.Families + fontFamilies.Add(font.Name) + Next + + ' Schritt 2: cmbFontFamily initialisieren + cmbFontFamily.Items.Clear() + cmbFontFamily.Items.AddRange(fontFamilies.ToArray()) + + ' Schritt 3: Schriftgrößen sammeln + Dim sizes As Integer() = {8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72} + cmbFontSize.Items.Clear() + cmbFontSize.Items.AddRange(sizes.Select(Function(s) s.ToString()).ToArray()) + + ' Schritt 4: Aktuelle Schriftfamilie und Schriftgröße aus der RichTextBox lesen + If AktuelleRichTextBox IsNot Nothing Then + Dim selectedFont As Font = AktuelleRichTextBox.SelectionFont + + If selectedFont IsNot Nothing Then + ' Setze die Schriftfamilie + If fontFamilies.Contains(selectedFont.FontFamily.Name) Then + cmbFontFamily.SelectedItem = selectedFont.FontFamily.Name + ElseIf cmbFontFamily.Items.Count > 0 Then + cmbFontFamily.SelectedIndex = 0 ' Standard auf erste Schriftart setzen + End If + + ' Setze die Schriftgröße + Dim fontSizeInt As Integer = CInt(Math.Round(selectedFont.Size)) + Dim fontSizeStr As String = fontSizeInt.ToString() + If cmbFontSize.Items.Contains(fontSizeStr) Then + cmbFontSize.SelectedItem = fontSizeStr + ElseIf cmbFontSize.Items.Count > 0 Then + cmbFontSize.SelectedItem = "12" ' Standard auf 12 setzen + End If + Else + ' Falls keine spezifische Schrift ausgewählt ist, setze Standardwerte + If cmbFontFamily.Items.Count > 0 Then + cmbFontFamily.SelectedIndex = 0 + End If + If cmbFontSize.Items.Count > 0 Then + cmbFontSize.SelectedItem = "12" + End If + End If + Else + ' Falls AktuelleRichTextBox nicht gesetzt ist, setze Standardwerte + If cmbFontFamily.Items.Count > 0 Then + cmbFontFamily.SelectedIndex = 0 + End If + If cmbFontSize.Items.Count > 0 Then + cmbFontSize.SelectedItem = "12" + End If + End If + + ' Schritt 5: Event-Handler aktualisieren + ' Entferne alte Event-Handler, um Doppelbindungen zu vermeiden + RemoveHandler cmbFontFamily.SelectedIndexChanged, AddressOf cmbFontFamily_SelectedIndexChanged + RemoveHandler cmbFontSize.SelectedIndexChanged, AddressOf cmbFontSize_SelectedIndexChanged + + ' Füge neue Event-Handler hinzu + AddHandler cmbFontFamily.SelectedIndexChanged, AddressOf cmbFontFamily_SelectedIndexChanged + AddHandler cmbFontSize.SelectedIndexChanged, AddressOf cmbFontSize_SelectedIndexChanged + + isInitializing = False + Catch ex As Exception + MessageBox.Show("Fehler beim Initialisieren der Schriftart-ComboBoxes: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error) + Finally + isInitializing = False + End Try + End Sub + + + ' Schriftfamilie ComboBox SelectionChanged Private Sub cmbFontFamily_SelectedIndexChanged(sender As Object, e As EventArgs) + If isInitializing Then Return UpdateFont() End Sub ' Schriftgröße ComboBox SelectionChanged Private Sub cmbFontSize_SelectedIndexChanged(sender As Object, e As EventArgs) + If isInitializing Then Return UpdateFont() End Sub Private Sub UpdateFont() - Dim selectedFontFamily As String = If(cmbFontFamily.SelectedItem, rtbZeile1.SelectionFont?.FontFamily.Name) + If isInitializing Then Return + + ' Nur anwenden, wenn tatsächlich etwas markiert ist + If AktuelleRichTextBox.SelectionLength <= 0 Then + Return + End If + + Dim selectedFontFamily As String = If(cmbFontFamily.SelectedItem, AktuelleRichTextBox.SelectionFont?.FontFamily.Name) Dim selectedFontSize As Single If Single.TryParse(cmbFontSize.SelectedItem, selectedFontSize) Then - ' Überprüfen, ob eine Auswahl vorhanden ist - If rtbZeile1.SelectionLength > 0 Then - ' Erstellen einer neuen Schriftart basierend auf der Auswahl - Dim currentFont As Font = rtbZeile1.SelectionFont - If currentFont IsNot Nothing Then - rtbZeile1.SelectionFont = New Font(selectedFontFamily, selectedFontSize, currentFont.Style) - Else - ' Wenn die Auswahl unterschiedliche Schriftarten hat, eine neue Schriftart setzen - rtbZeile1.SelectionFont = New Font(selectedFontFamily, selectedFontSize) - End If + ' Erstellen einer neuen Schriftart basierend auf der Auswahl + Dim currentFont As Font = AktuelleRichTextBox.SelectionFont + If currentFont IsNot Nothing Then + AktuelleRichTextBox.SelectionFont = New Font(selectedFontFamily, selectedFontSize, currentFont.Style) Else - ' Wenn keine Auswahl vorhanden ist, setzen Sie die Standard-Schriftart der RichTextBox - rtbZeile1.Font = New Font(selectedFontFamily, selectedFontSize, rtbZeile1.Font.Style) + ' Wenn die Auswahl unterschiedliche Schriftarten hat, eine neue Schriftart setzen + AktuelleRichTextBox.SelectionFont = New Font(selectedFontFamily, selectedFontSize) End If hatAenderung = True End If End Sub - ' Methode zum Umschalten des Schriftstils - Private Sub ToggleFontStyle(style As FontStyle) - If rtbZeile1.SelectionFont IsNot Nothing Then - Dim currentFont As Font = rtbZeile1.SelectionFont - Dim newFontStyle As FontStyle - - If rtbZeile1.SelectionFont.Style.HasFlag(style) Then - ' Entferne den Stil - newFontStyle = currentFont.Style And Not style - Else - ' Füge den Stil hinzu - newFontStyle = currentFont.Style Or style - End If - - ' Setze die neue Schriftart - rtbZeile1.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle) - hatAenderung = True - End If - End Sub - - ' Fett (Bold) Button Click Private Sub btnBold_Click(sender As Object, e As EventArgs) Handles btnBold.Click + If isInitializing Then Return ToggleFontStyle(FontStyle.Bold) End Sub - ' Kursiv (Italic) Button Click Private Sub btnItalic_Click(sender As Object, e As EventArgs) Handles btnItalic.Click + If isInitializing Then Return ToggleFontStyle(FontStyle.Italic) End Sub - ' Unterstrichen (Underline) Button Click Private Sub btnUnderline_Click(sender As Object, e As EventArgs) Handles btnUnderline.Click + If isInitializing Then Return ToggleFontStyle(FontStyle.Underline) End Sub - ' Textfarbe ändern Button Click Private Sub btnTextColor_Click(sender As Object, e As EventArgs) Handles btnTextColor.Click + ' Nur anwenden, wenn tatsächlich etwas markiert ist + If AktuelleRichTextBox.SelectionLength <= 0 Then + Return + End If + If colorDialogText.ShowDialog() = DialogResult.OK Then - rtbZeile1.SelectionColor = colorDialogText.Color - hatAenderung = True + AktuelleRichTextBox.SelectionColor = colorDialogText.Color End If End Sub - ' Hintergrundfarbe ändern Button Click Private Sub btnBackColor_Click(sender As Object, e As EventArgs) Handles btnBackColor.Click + ' Nur anwenden, wenn tatsächlich etwas markiert ist + If AktuelleRichTextBox.SelectionLength <= 0 Then + Return + End If + If colorDialogText.ShowDialog() = DialogResult.OK Then - rtbZeile1.SelectionBackColor = colorDialogText.Color - hatAenderung = True + AktuelleRichTextBox.SelectionBackColor = colorDialogText.Color End If End Sub - ' Links ausrichten Button Click Private Sub btnAlignLeft_Click(sender As Object, e As EventArgs) Handles btnAlignLeft.Click - rtbZeile1.SelectionAlignment = HorizontalAlignment.Left - hatAenderung = True + If isInitializing Then Return + ' Nur anwenden, wenn tatsächlich etwas markiert ist + If AktuelleRichTextBox.SelectionLength <= 0 Then + Return + End If + AktuelleRichTextBox.SelectionAlignment = HorizontalAlignment.Left End Sub - ' Mitte ausrichten Button Click Private Sub btnAlignCenter_Click(sender As Object, e As EventArgs) Handles btnAlignCenter.Click - rtbZeile1.SelectionAlignment = HorizontalAlignment.Center - hatAenderung = True + If isInitializing Then Return + ' Nur anwenden, wenn tatsächlich etwas markiert ist + If AktuelleRichTextBox.SelectionLength <= 0 Then + Return + End If + AktuelleRichTextBox.SelectionAlignment = HorizontalAlignment.Center End Sub - ' Rechts ausrichten Button Click Private Sub btnAlignRight_Click(sender As Object, e As EventArgs) Handles btnAlignRight.Click - rtbZeile1.SelectionAlignment = HorizontalAlignment.Right - hatAenderung = True - End Sub - - ' Schriftfamilie ComboBox SelectionChanged - Private Sub cmbFontFamily2_SelectedIndexChanged(sender As Object, e As EventArgs) - UpdateFont2() - End Sub - - ' Schriftgröße ComboBox SelectionChanged - Private Sub cmbFontSize2_SelectedIndexChanged(sender As Object, e As EventArgs) - UpdateFont2() - End Sub - - Private Sub UpdateFont2() - Dim selectedFontFamily As String = If(cmbFontFamily2.SelectedItem, rtbZeile2.SelectionFont?.FontFamily.Name) - Dim selectedFontSize As Single - If Single.TryParse(cmbFontSize2.SelectedItem, selectedFontSize) Then - ' Überprüfen, ob eine Auswahl vorhanden ist - If rtbZeile2.SelectionLength > 0 Then - ' Erstellen einer neuen Schriftart basierend auf der Auswahl - Dim currentFont As Font = rtbZeile2.SelectionFont - If currentFont IsNot Nothing Then - rtbZeile2.SelectionFont = New Font(selectedFontFamily, selectedFontSize, currentFont.Style) - Else - ' Wenn die Auswahl unterschiedliche Schriftarten hat, eine neue Schriftart setzen - rtbZeile2.SelectionFont = New Font(selectedFontFamily, selectedFontSize) - End If - Else - ' Wenn keine Auswahl vorhanden ist, setzen Sie die Standard-Schriftart der RichTextBox - rtbZeile2.Font = New Font(selectedFontFamily, selectedFontSize, rtbZeile2.Font.Style) - End If - hatAenderung = True + If isInitializing Then Return + ' Nur anwenden, wenn tatsächlich etwas markiert ist + If AktuelleRichTextBox.SelectionLength <= 0 Then + Return End If + AktuelleRichTextBox.SelectionAlignment = HorizontalAlignment.Right End Sub - ' Methode zum Umschalten des Schriftstils - Private Sub ToggleFontStyle2(style As FontStyle) - If rtbZeile2.SelectionFont IsNot Nothing Then - Dim currentFont As Font = rtbZeile2.SelectionFont + Private Sub ToggleFontStyle(style As FontStyle) + If isInitializing Then Return + ' Nur anwenden, wenn tatsächlich etwas markiert ist + If AktuelleRichTextBox.SelectionLength <= 0 Then + Return + End If + + If AktuelleRichTextBox.SelectionFont IsNot Nothing Then + Dim currentFont As Font = AktuelleRichTextBox.SelectionFont Dim newFontStyle As FontStyle - If rtbZeile2.SelectionFont.Style.HasFlag(style) Then + If AktuelleRichTextBox.SelectionFont.Style.HasFlag(style) Then ' Entferne den Stil newFontStyle = currentFont.Style And Not style Else @@ -470,163 +608,18 @@ Public Class frmEintragTvNew End If ' Setze die neue Schriftart - rtbZeile2.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle) + AktuelleRichTextBox.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle) hatAenderung = True End If End Sub - ' Fett (Bold) Button Click - Private Sub btnBold2_Click(sender As Object, e As EventArgs) Handles btnBold2.Click - ToggleFontStyle2(FontStyle.Bold) - End Sub - - ' Kursiv (Italic) Button Click - Private Sub btnItalic2_Click(sender As Object, e As EventArgs) Handles btnItalic2.Click - ToggleFontStyle2(FontStyle.Italic) - End Sub - - ' Unterstrichen (Underline) Button Click - Private Sub btnUnderline2_Click(sender As Object, e As EventArgs) Handles btnUnderline2.Click - ToggleFontStyle2(FontStyle.Underline) - End Sub - - ' Textfarbe ändern Button Click - Private Sub btnTextColor2_Click(sender As Object, e As EventArgs) Handles btnTextColor2.Click - If colorDialogText.ShowDialog() = DialogResult.OK Then - rtbZeile2.SelectionColor = colorDialogText.Color - hatAenderung = True - End If - End Sub - - ' Hintergrundfarbe ändern Button Click - Private Sub btnBackColor2_Click(sender As Object, e As EventArgs) Handles btnBackColor2.Click - If colorDialogText.ShowDialog() = DialogResult.OK Then - rtbZeile2.SelectionBackColor = colorDialogText.Color - hatAenderung = True - End If - End Sub - - ' Links ausrichten Button Click - Private Sub btnAlignLeft2_Click(sender As Object, e As EventArgs) Handles btnAlignLeft2.Click - rtbZeile2.SelectionAlignment = HorizontalAlignment.Left - hatAenderung = True - End Sub - - ' Mitte ausrichten Button Click - Private Sub btnAlignCenter2_Click(sender As Object, e As EventArgs) Handles btnAlignCenter2.Click - rtbZeile2.SelectionAlignment = HorizontalAlignment.Center - hatAenderung = True - End Sub - - ' Rechts ausrichten Button Click - Private Sub btnAlignRight2_Click(sender As Object, e As EventArgs) Handles btnAlignRight2.Click - rtbZeile2.SelectionAlignment = HorizontalAlignment.Right - hatAenderung = True - End Sub - - ' Schriftfamilie ComboBox SelectionChanged - Private Sub cmbFontFamily3_SelectedIndexChanged(sender As Object, e As EventArgs) - UpdateFont3() - End Sub - - ' Schriftgröße ComboBox SelectionChanged - Private Sub cmbFontSize3_SelectedIndexChanged(sender As Object, e As EventArgs) - UpdateFont3() - End Sub - - Private Sub UpdateFont3() - Dim selectedFontFamily As String = If(cmbFontFamily3.SelectedItem, rtbZeile3.SelectionFont?.FontFamily.Name) - Dim selectedFontSize As Single - If Single.TryParse(cmbFontSize3.SelectedItem, selectedFontSize) Then - ' Überprüfen, ob eine Auswahl vorhanden ist - If rtbZeile3.SelectionLength > 0 Then - ' Erstellen einer neuen Schriftart basierend auf der Auswahl - Dim currentFont As Font = rtbZeile3.SelectionFont - If currentFont IsNot Nothing Then - rtbZeile3.SelectionFont = New Font(selectedFontFamily, selectedFontSize, currentFont.Style) - Else - ' Wenn die Auswahl unterschiedliche Schriftarten hat, eine neue Schriftart setzen - rtbZeile3.SelectionFont = New Font(selectedFontFamily, selectedFontSize) - End If - Else - ' Wenn keine Auswahl vorhanden ist, setzen Sie die Standard-Schriftart der RichTextBox - rtbZeile3.Font = New Font(selectedFontFamily, selectedFontSize, rtbZeile3.Font.Style) - End If - hatAenderung = True - End If - End Sub - - ' Methode zum Umschalten des Schriftstils - Private Sub ToggleFontStyle3(style As FontStyle) - If rtbZeile3.SelectionFont IsNot Nothing Then - Dim currentFont As Font = rtbZeile3.SelectionFont - Dim newFontStyle As FontStyle - - If rtbZeile3.SelectionFont.Style.HasFlag(style) Then - ' Entferne den Stil - newFontStyle = currentFont.Style And Not style - Else - ' Füge den Stil hinzu - newFontStyle = currentFont.Style Or style - End If - - ' Setze die neue Schriftart - rtbZeile3.SelectionFont = New Font(currentFont.FontFamily, currentFont.Size, newFontStyle) - hatAenderung = True - End If - End Sub - - ' Fett (Bold) Button Click - Private Sub btnBold3_Click(sender As Object, e As EventArgs) Handles btnBold3.Click - ToggleFontStyle3(FontStyle.Bold) - End Sub - - ' Kursiv (Italic) Button Click - Private Sub btnItalic3_Click(sender As Object, e As EventArgs) Handles btnItalic3.Click - ToggleFontStyle3(FontStyle.Italic) - End Sub - - ' Unterstrichen (Underline) Button Click - Private Sub btnUnderline3_Click(sender As Object, e As EventArgs) Handles btnUnderline3.Click - ToggleFontStyle3(FontStyle.Underline) - End Sub - - ' Textfarbe ändern Button Click - Private Sub btnTextColor3_Click(sender As Object, e As EventArgs) Handles btnTextColor3.Click - If colorDialogText.ShowDialog() = DialogResult.OK Then - rtbZeile3.SelectionColor = colorDialogText.Color - hatAenderung = True - End If - End Sub - - ' Hintergrundfarbe ändern Button Click - Private Sub btnBackColor3_Click(sender As Object, e As EventArgs) Handles btnBackColor3.Click - If colorDialogText.ShowDialog() = DialogResult.OK Then - rtbZeile3.SelectionBackColor = colorDialogText.Color - hatAenderung = True - End If - End Sub - - ' Links ausrichten Button Click - Private Sub btnAlignLeft3_Click(sender As Object, e As EventArgs) Handles btnAlignLeft3.Click - rtbZeile3.SelectionAlignment = HorizontalAlignment.Left - hatAenderung = True - End Sub - - ' Mitte ausrichten Button Click - Private Sub btnAlignCenter3_Click(sender As Object, e As EventArgs) Handles btnAlignCenter3.Click - rtbZeile3.SelectionAlignment = HorizontalAlignment.Center - hatAenderung = True - End Sub - - ' Rechts ausrichten Button Click - Private Sub btnAlignRight3_Click(sender As Object, e As EventArgs) Handles btnAlignRight3.Click - rtbZeile3.SelectionAlignment = HorizontalAlignment.Right - hatAenderung = True - End Sub Private Sub LadeTvTextBezeichnungen() isInitializing = True + + ' Event-Handler entfernen, um zu verhindern, dass SelectedIndexChanged zu früh feuert + RemoveHandler cmbTvTextBezeichnungAuswahl.SelectedIndexChanged, AddressOf cmbTvTextBezeichnungAuswahl_SelectedIndexChanged + Dim bezeichnungen As New List(Of cTvTextBezeichnung)() Try @@ -634,32 +627,34 @@ Public Class frmEintragTvNew Catch ex As Exception MessageBox.Show("Fehler beim Laden der TvTextBezeichnungen: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error) isInitializing = False + ' Event-Handler wieder hinzufügen, bevor wir verlassen + AddHandler cmbTvTextBezeichnungAuswahl.SelectedIndexChanged, AddressOf cmbTvTextBezeichnungAuswahl_SelectedIndexChanged Return End Try Dim items As New List(Of ComboBoxItem)() - For Each bezeichnung In bezeichnungen items.Add(New ComboBoxItem() With { - .ID = bezeichnung.TvTextBezeichnungID, - .DisplayText = bezeichnung.TvTextBezeichnung - }) + .ID = bezeichnung.TvTextBezeichnungID, + .DisplayText = bezeichnung.TvTextBezeichnung + }) Next + cmbTvTextBezeichnungAuswahl.DataSource = Nothing cmbTvTextBezeichnungAuswahl.DataSource = items cmbTvTextBezeichnungAuswahl.DisplayMember = "DisplayText" cmbTvTextBezeichnungAuswahl.ValueMember = "ID" cmbTvTextBezeichnungAuswahl.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList cmbTvTextBezeichnungAuswahl.SelectedIndex = -1 cmbPosition.SelectedIndex = -1 + isInitializing = False - Debug.WriteLine("TvTextBezeichnungen geladen:") - For Each item In items - Debug.WriteLine($"ID: {item.ID}, Text: {item.DisplayText}") - Next + ' Event-Handler jetzt, nachdem alles fertig ist, wieder hinzufügen + AddHandler cmbTvTextBezeichnungAuswahl.SelectedIndexChanged, AddressOf cmbTvTextBezeichnungAuswahl_SelectedIndexChanged End Sub + Private Sub txtNeueTvTextBezeichnung_TextChanged(sender As Object, e As EventArgs) Handles txtNeueTvTextBezeichnung.TextChanged If Not String.IsNullOrWhiteSpace(txtNeueTvTextBezeichnung.Text) Then cmbTvTextBezeichnungAuswahl.SelectedIndex = -1 @@ -731,7 +726,6 @@ Public Class frmEintragTvNew chkIsActive.Checked = aviso.IsActive - grpWochentage.Enabled = chkIsRecurring.Checked End Sub @@ -740,138 +734,110 @@ Public Class frmEintragTvNew rtb.Rtf = rtf Dim sb As New System.Text.StringBuilder() - ' Initialisiere die HTML-Struktur - sb.Append("") - - ' Teile den Text in Absätze auf - Dim paragraphs As String() = rtb.Text.Split(New String() {vbCrLf, vbLf}, StringSplitOptions.None) - + Dim defaultFont As System.Drawing.Font = rtb.Font + Dim totalLength As Integer = rtb.TextLength Dim charIndex As Integer = 0 - For Each paragraph As String In paragraphs - ' Wähle den aktuellen Absatz aus - rtb.Select(charIndex, paragraph.Length) + While charIndex < totalLength + ' Wähle das aktuelle Zeichen aus + rtb.Select(charIndex, 1) - ' Erhalte die Ausrichtung des aktuellen Absatzes - Dim alignment As HorizontalAlignment = rtb.SelectionAlignment + ' Hole die Formatierung des aktuellen Zeichens + Dim startFont As System.Drawing.Font = rtb.SelectionFont + Dim startColor As Color = rtb.SelectionColor + Dim startBackColor As Color = rtb.SelectionBackColor + Dim startAlignment As HorizontalAlignment = rtb.SelectionAlignment - ' Öffne einen Div-Tag mit der entsprechenden Textausrichtung - Select Case alignment - Case HorizontalAlignment.Left - sb.Append("
") - Case HorizontalAlignment.Center - sb.Append("
") - Case HorizontalAlignment.Right - sb.Append("
") - Case Else - sb.Append("
") - End Select + If startFont Is Nothing Then + startFont = defaultFont + End If - ' Setze die aktuellen Formatierungsvariablen auf Nothing/Empty, um beim ersten Zeichen zu starten - Dim currentFont As System.Drawing.Font = Nothing - Dim currentColor As Color = Color.Empty - Dim currentBackColor As Color = Color.Empty - Dim currentBold As Boolean = False - Dim currentItalic As Boolean = False - Dim currentUnderline As Boolean = False + ' Initialisiere die Lauf-Länge + Dim runLength As Integer = 1 - ' Iteriere durch die Zeichen im Absatz - For i As Integer = 0 To paragraph.Length - 1 - Dim globalIndex As Integer = charIndex + i - rtb.Select(globalIndex, 1) - Dim font As System.Drawing.Font = rtb.SelectionFont - Dim color As Color = rtb.SelectionColor - Dim backColor As Color = rtb.SelectionBackColor + ' Finde die Länge des Laufs + While (charIndex + runLength < totalLength) + rtb.Select(charIndex + runLength, 1) + Dim currentFont As System.Drawing.Font = rtb.SelectionFont + Dim currentColor As Color = rtb.SelectionColor + Dim currentBackColor As Color = rtb.SelectionBackColor + Dim currentAlignment As HorizontalAlignment = rtb.SelectionAlignment - ' Bestimme die Schriftstile - Dim isBold As Boolean = font IsNot Nothing AndAlso font.Bold - Dim isItalic As Boolean = font IsNot Nothing AndAlso font.Italic - Dim isUnderline As Boolean = font IsNot Nothing AndAlso font.Underline - - ' Überprüfe, ob sich die Formatierung geändert hat - If font IsNot currentFont OrElse color <> currentColor OrElse backColor <> currentBackColor OrElse isBold <> currentBold OrElse isItalic <> currentItalic OrElse isUnderline <> currentUnderline Then - ' Schließe vorherige Font-, Farb- und Hintergrundfarb-Tags - If currentFont IsNot Nothing OrElse color <> Color.Empty OrElse backColor <> Color.Empty OrElse currentBold OrElse currentItalic OrElse currentUnderline Then - sb.Append("") - End If - - ' Öffne ein neues Span-Tag mit den aktuellen Stilen - Dim style As New System.Text.StringBuilder() - - If font IsNot Nothing Then - style.Append($"font-family:{font.FontFamily.Name}; ") - style.Append($"font-size:{font.SizeInPoints}pt; ") - End If - - If color <> Color.Empty Then - style.Append($"color:{ColorTranslator.ToHtml(color)}; ") - End If - - If backColor <> Color.Empty Then - style.Append($"background-color:{ColorTranslator.ToHtml(backColor)}; ") - End If - - If isBold Then - style.Append($"font-weight:bold; ") - End If - - If isItalic Then - style.Append($"font-style:italic; ") - End If - - If isUnderline Then - style.Append($"text-decoration:underline; ") - End If - - If style.Length > 0 Then - sb.Append($"") - End If - - ' Aktualisiere die aktuellen Formatierungsvariablen - currentFont = font - currentColor = color - currentBackColor = backColor - currentBold = isBold - currentItalic = isItalic - currentUnderline = isUnderline + If currentFont Is Nothing Then + currentFont = defaultFont End If - ' Füge das aktuelle Zeichen hinzu (HTML-encodiert) - Dim currentChar As Char = paragraph(i) - Select Case currentChar - Case "<" - sb.Append("<") - Case ">" - sb.Append(">") - Case "&" - sb.Append("&") - Case Else - sb.Append(currentChar) - End Select - Next + ' Überprüfe, ob die Formatierung gleich ist + If Not FontsAreEqual(startFont, currentFont) OrElse + startColor <> currentColor OrElse + startBackColor <> currentBackColor OrElse + startAlignment <> currentAlignment Then + Exit While + End If - ' Schließe verbleibende Tags im Absatz - If currentFont IsNot Nothing OrElse currentColor <> Color.Empty OrElse currentBackColor <> Color.Empty OrElse currentBold OrElse currentItalic OrElse currentUnderline Then - sb.Append("") + runLength += 1 + End While + + ' Hole den Text des Laufs + Dim runText As String = rtb.Text.Substring(charIndex, runLength) + Dim style As New System.Text.StringBuilder() + + Select Case startAlignment + Case HorizontalAlignment.Left + ' nichts hinzufügen, da Standard + Case HorizontalAlignment.Center + style.Append("text-align:center;") + Case HorizontalAlignment.Right + style.Append("text-align:right;") + End Select + + If startFont IsNot Nothing Then + style.Append($"font-family:{startFont.FontFamily.Name};") + style.Append($"font-size:{startFont.SizeInPoints}pt;") + If startFont.Bold Then + style.Append("font-weight:bold;") + End If + If startFont.Italic Then + style.Append("font-style:italic;") + End If + If startFont.Underline Then + style.Append("text-decoration:underline;") + End If End If - ' Schließe den Div-Tag für den Absatz + If startColor <> Color.Empty Then + style.Append($"color:{ColorTranslator.ToHtml(startColor)};") + End If + + If startBackColor <> Color.Empty Then + style.Append($"background-color:{ColorTranslator.ToHtml(startBackColor)};") + End If + + If style.Length > 0 Then + sb.Append($"
") + Else + sb.Append("
") + End If + + Dim encodedText As String = System.Net.WebUtility.HtmlEncode(runText) + sb.Append(encodedText) + sb.Append("
") - ' Aktualisiere den charIndex für den nächsten Absatz (+2 für vbCrLf, könnte je nach Zeilenumbrüchen variieren) - ' Überprüfe den tatsächlichen Zeilenumbruch und passe gegebenenfalls an - If charIndex + paragraph.Length + 2 <= rtb.Text.Length Then - charIndex += paragraph.Length + 2 ' Annahme: \r\n als Zeilenumbruch - Else - charIndex += paragraph.Length - End If - Next + charIndex += runLength + End While - sb.Append("") Return sb.ToString() End Using End Function + Private Function FontsAreEqual(font1 As System.Drawing.Font, font2 As System.Drawing.Font) As Boolean + Return font1.FontFamily.Name = font2.FontFamily.Name AndAlso + font1.SizeInPoints = font2.SizeInPoints AndAlso + font1.Style = font2.Style + End Function + + Private Sub btnSpeichern_Click(sender As Object, e As EventArgs) Handles btnSpeichern.Click Dim verwendeteTvTextBezeichnung As String = "" Dim isNeueTvTextBezeichnung As Boolean = False @@ -978,12 +944,12 @@ Public Class frmEintragTvNew list.Clear() AvisoTvNewDAL.LesenAvisoTvNew(0, "", currentStandort, list) - ' **Nach dem Speichern und Neuladen der Daten** + ' Nach dem Speichern und Neuladen der Daten initdgv() hatAenderung = False If isNeueTvTextBezeichnung Then - ' **Setze lastSelectedTVID auf die TVID des neuen Eintrags** + ' Setze lastSelectedTVID auf die TVID des neuen Eintrags lastSelectedTVID = myAvisoTvNew.TvTextBezeichnungID MessageBox.Show("Die neue TvTextBezeichnung wurde erfolgreich gespeichert.", "Erfolg", MessageBoxButtons.OK, MessageBoxIcon.Information) cmbTvTextBezeichnungAuswahl.SelectedValue = myAvisoTvNew.TvTextBezeichnungID @@ -1009,7 +975,7 @@ Public Class frmEintragTvNew AvisoTvNewDAL.SetzeAufInaktiv(myAvisoTvNew.TvTextBezeichnungID) list.Clear() AvisoTvNewDAL.LesenAvisoTvNew(0, "", cbxStandort.SelectedItem?.ToString(), list) - initdgv() + initdgv() ' Verwende jetzt die parameterlose Methode ClearFields() myAvisoTvNew = Nothing Neuanlage = False @@ -1057,6 +1023,22 @@ Public Class frmEintragTvNew grpWochentage.Enabled = chkIsRecurring.Checked End Sub + Private ReadOnly Property AktuelleRichTextBox As RichTextBox + Get + Select Case tabControlZeilen.SelectedIndex + Case 0 + Return rtbZeile1 + Case 1 + Return rtbZeile2 + Case 2 + Return rtbZeile3 + Case Else + Return rtbZeile1 + End Select + End Get + End Property + + Private Sub ClearFields() cmbTvTextBezeichnungAuswahl.SelectedIndex = -1 cmbPosition.SelectedIndex = -1 diff --git a/Aviso/frmTvSettings.Designer.vb b/Aviso/frmTvSettings.Designer.vb new file mode 100644 index 0000000..8d41e74 --- /dev/null +++ b/Aviso/frmTvSettings.Designer.vb @@ -0,0 +1,286 @@ + +Partial Class frmTvSettings + 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 + 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 + + 'Die folgenden Steuerelemente werden benötigt. + Private WithEvents lblTileWidth As Label + Private WithEvents lblTileHeight As Label + Private WithEvents lblFontSizeLkwNummer As Label + Private WithEvents lblFontSizeDateTime As Label + Private WithEvents lblSeitenwechsel As Label + Private WithEvents lblTextBalkenHeight As Label ' Neues Label + Private WithEvents lblLogoSelection As Label ' Neues Label für Logo-Auswahl + Private WithEvents numTileWidth As NumericUpDown + Private WithEvents numTileHeight As NumericUpDown + Private WithEvents numFontSizeLkwNummer As NumericUpDown + Private WithEvents numFontSizeDateTime As NumericUpDown + Private WithEvents numSeitenwechsel As NumericUpDown + Private WithEvents numTextBalkenHeight As NumericUpDown ' Neues NumericUpDown + Private WithEvents cmbLogoSelection As ComboBox ' Neue ComboBox für Logo-Auswahl + Private WithEvents btnSave As Button + + '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() + Me.lblTileWidth = New System.Windows.Forms.Label() + Me.lblTileHeight = New System.Windows.Forms.Label() + Me.lblFontSizeLkwNummer = New System.Windows.Forms.Label() + Me.lblFontSizeDateTime = New System.Windows.Forms.Label() + Me.lblSeitenwechsel = New System.Windows.Forms.Label() + Me.lblTextBalkenHeight = New System.Windows.Forms.Label() + Me.lblLogoSelection = New System.Windows.Forms.Label() + Me.numTileWidth = New System.Windows.Forms.NumericUpDown() + Me.numTileHeight = New System.Windows.Forms.NumericUpDown() + Me.numFontSizeLkwNummer = New System.Windows.Forms.NumericUpDown() + Me.numFontSizeDateTime = New System.Windows.Forms.NumericUpDown() + Me.numSeitenwechsel = New System.Windows.Forms.NumericUpDown() + Me.numTextBalkenHeight = New System.Windows.Forms.NumericUpDown() + Me.cmbLogoSelection = New System.Windows.Forms.ComboBox() + Me.btnSave = New System.Windows.Forms.Button() + Me.numKachelRowGapInPercent = New System.Windows.Forms.NumericUpDown() + Me.Label1 = New System.Windows.Forms.Label() + CType(Me.numTileWidth, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numTileHeight, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numFontSizeLkwNummer, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numFontSizeDateTime, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numSeitenwechsel, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numTextBalkenHeight, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.numKachelRowGapInPercent, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'lblTileWidth + ' + Me.lblTileWidth.AutoSize = True + Me.lblTileWidth.Location = New System.Drawing.Point(22, 66) + Me.lblTileWidth.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblTileWidth.Name = "lblTileWidth" + Me.lblTileWidth.Size = New System.Drawing.Size(87, 13) + Me.lblTileWidth.TabIndex = 0 + Me.lblTileWidth.Text = "Kachel Breite (%)" + ' + 'lblTileHeight + ' + Me.lblTileHeight.AutoSize = True + Me.lblTileHeight.Location = New System.Drawing.Point(21, 27) + Me.lblTileHeight.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblTileHeight.Name = "lblTileHeight" + Me.lblTileHeight.Size = New System.Drawing.Size(86, 13) + Me.lblTileHeight.TabIndex = 1 + Me.lblTileHeight.Text = "Kachel Höhe (%)" + ' + 'lblFontSizeLkwNummer + ' + Me.lblFontSizeLkwNummer.AutoSize = True + Me.lblFontSizeLkwNummer.Location = New System.Drawing.Point(21, 151) + Me.lblFontSizeLkwNummer.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblFontSizeLkwNummer.Name = "lblFontSizeLkwNummer" + Me.lblFontSizeLkwNummer.Size = New System.Drawing.Size(133, 13) + Me.lblFontSizeLkwNummer.TabIndex = 2 + Me.lblFontSizeLkwNummer.Text = "Schriftgröße LKW Nummer" + ' + 'lblFontSizeDateTime + ' + Me.lblFontSizeDateTime.AutoSize = True + Me.lblFontSizeDateTime.Location = New System.Drawing.Point(21, 191) + Me.lblFontSizeDateTime.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblFontSizeDateTime.Name = "lblFontSizeDateTime" + Me.lblFontSizeDateTime.Size = New System.Drawing.Size(121, 13) + Me.lblFontSizeDateTime.TabIndex = 3 + Me.lblFontSizeDateTime.Text = "Schriftgröße Datum/Zeit" + ' + 'lblSeitenwechsel + ' + Me.lblSeitenwechsel.AutoSize = True + Me.lblSeitenwechsel.Location = New System.Drawing.Point(21, 232) + Me.lblSeitenwechsel.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblSeitenwechsel.Name = "lblSeitenwechsel" + Me.lblSeitenwechsel.Size = New System.Drawing.Size(134, 13) + Me.lblSeitenwechsel.TabIndex = 4 + Me.lblSeitenwechsel.Text = "Seitenwechsel (Sekunden)" + ' + 'lblTextBalkenHeight + ' + Me.lblTextBalkenHeight.AutoSize = True + Me.lblTextBalkenHeight.Location = New System.Drawing.Point(21, 273) + Me.lblTextBalkenHeight.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblTextBalkenHeight.Name = "lblTextBalkenHeight" + Me.lblTextBalkenHeight.Size = New System.Drawing.Size(110, 13) + Me.lblTextBalkenHeight.TabIndex = 5 + Me.lblTextBalkenHeight.Text = "Text Balken Höhe (%)" + ' + 'lblLogoSelection + ' + Me.lblLogoSelection.AutoSize = True + Me.lblLogoSelection.Location = New System.Drawing.Point(21, 313) + Me.lblLogoSelection.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.lblLogoSelection.Name = "lblLogoSelection" + Me.lblLogoSelection.Size = New System.Drawing.Size(85, 13) + Me.lblLogoSelection.TabIndex = 13 + Me.lblLogoSelection.Text = "Logo auswählen" + ' + 'numTileWidth + ' + Me.numTileWidth.DecimalPlaces = 2 + Me.numTileWidth.Location = New System.Drawing.Point(165, 66) + Me.numTileWidth.Margin = New System.Windows.Forms.Padding(2) + Me.numTileWidth.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.numTileWidth.Name = "numTileWidth" + Me.numTileWidth.Size = New System.Drawing.Size(90, 20) + Me.numTileWidth.TabIndex = 6 + Me.numTileWidth.Value = New Decimal(New Integer() {30, 0, 0, 0}) + ' + 'numTileHeight + ' + Me.numTileHeight.DecimalPlaces = 2 + Me.numTileHeight.Location = New System.Drawing.Point(164, 25) + Me.numTileHeight.Margin = New System.Windows.Forms.Padding(2) + Me.numTileHeight.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.numTileHeight.Name = "numTileHeight" + Me.numTileHeight.Size = New System.Drawing.Size(90, 20) + Me.numTileHeight.TabIndex = 7 + Me.numTileHeight.Value = New Decimal(New Integer() {30, 0, 0, 0}) + ' + 'numFontSizeLkwNummer + ' + Me.numFontSizeLkwNummer.DecimalPlaces = 2 + Me.numFontSizeLkwNummer.Location = New System.Drawing.Point(164, 149) + Me.numFontSizeLkwNummer.Margin = New System.Windows.Forms.Padding(2) + Me.numFontSizeLkwNummer.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.numFontSizeLkwNummer.Name = "numFontSizeLkwNummer" + Me.numFontSizeLkwNummer.Size = New System.Drawing.Size(90, 20) + Me.numFontSizeLkwNummer.TabIndex = 8 + Me.numFontSizeLkwNummer.Value = New Decimal(New Integer() {12, 0, 0, 0}) + ' + 'numFontSizeDateTime + ' + Me.numFontSizeDateTime.DecimalPlaces = 2 + Me.numFontSizeDateTime.Location = New System.Drawing.Point(164, 190) + Me.numFontSizeDateTime.Margin = New System.Windows.Forms.Padding(2) + Me.numFontSizeDateTime.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.numFontSizeDateTime.Name = "numFontSizeDateTime" + Me.numFontSizeDateTime.Size = New System.Drawing.Size(90, 20) + Me.numFontSizeDateTime.TabIndex = 9 + Me.numFontSizeDateTime.Value = New Decimal(New Integer() {12, 0, 0, 0}) + ' + 'numSeitenwechsel + ' + Me.numSeitenwechsel.Location = New System.Drawing.Point(164, 230) + Me.numSeitenwechsel.Margin = New System.Windows.Forms.Padding(2) + Me.numSeitenwechsel.Maximum = New Decimal(New Integer() {3600, 0, 0, 0}) + Me.numSeitenwechsel.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.numSeitenwechsel.Name = "numSeitenwechsel" + Me.numSeitenwechsel.Size = New System.Drawing.Size(90, 20) + Me.numSeitenwechsel.TabIndex = 10 + Me.numSeitenwechsel.Value = New Decimal(New Integer() {30, 0, 0, 0}) + ' + 'numTextBalkenHeight + ' + Me.numTextBalkenHeight.DecimalPlaces = 2 + Me.numTextBalkenHeight.Location = New System.Drawing.Point(164, 271) + Me.numTextBalkenHeight.Margin = New System.Windows.Forms.Padding(2) + Me.numTextBalkenHeight.Name = "numTextBalkenHeight" + Me.numTextBalkenHeight.Size = New System.Drawing.Size(90, 20) + Me.numTextBalkenHeight.TabIndex = 11 + Me.numTextBalkenHeight.Value = New Decimal(New Integer() {30, 0, 0, 0}) + ' + 'cmbLogoSelection + ' + Me.cmbLogoSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.cmbLogoSelection.FormattingEnabled = True + Me.cmbLogoSelection.Location = New System.Drawing.Point(164, 311) + Me.cmbLogoSelection.Margin = New System.Windows.Forms.Padding(2) + Me.cmbLogoSelection.Name = "cmbLogoSelection" + Me.cmbLogoSelection.Size = New System.Drawing.Size(91, 21) + Me.cmbLogoSelection.TabIndex = 14 + ' + 'btnSave + ' + Me.btnSave.Location = New System.Drawing.Point(164, 346) + Me.btnSave.Margin = New System.Windows.Forms.Padding(2) + Me.btnSave.Name = "btnSave" + Me.btnSave.Size = New System.Drawing.Size(90, 24) + Me.btnSave.TabIndex = 15 + Me.btnSave.Text = "Speichern" + Me.btnSave.UseVisualStyleBackColor = True + ' + 'numKachelRowGapInPercent + ' + Me.numKachelRowGapInPercent.DecimalPlaces = 2 + Me.numKachelRowGapInPercent.Location = New System.Drawing.Point(164, 106) + Me.numKachelRowGapInPercent.Margin = New System.Windows.Forms.Padding(2) + Me.numKachelRowGapInPercent.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.numKachelRowGapInPercent.Name = "numKachelRowGapInPercent" + Me.numKachelRowGapInPercent.Size = New System.Drawing.Size(90, 20) + Me.numKachelRowGapInPercent.TabIndex = 17 + Me.numKachelRowGapInPercent.Value = New Decimal(New Integer() {12, 0, 0, 0}) + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(21, 108) + Me.Label1.Margin = New System.Windows.Forms.Padding(2, 0, 2, 0) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(123, 13) + Me.Label1.TabIndex = 16 + Me.Label1.Text = "Abstand Kachel Text (%)" + ' + 'frmTvSettings + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(306, 409) + Me.Controls.Add(Me.numKachelRowGapInPercent) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.btnSave) + Me.Controls.Add(Me.cmbLogoSelection) + Me.Controls.Add(Me.numTextBalkenHeight) + Me.Controls.Add(Me.numSeitenwechsel) + Me.Controls.Add(Me.numFontSizeDateTime) + Me.Controls.Add(Me.numFontSizeLkwNummer) + Me.Controls.Add(Me.numTileHeight) + Me.Controls.Add(Me.numTileWidth) + Me.Controls.Add(Me.lblLogoSelection) + Me.Controls.Add(Me.lblTextBalkenHeight) + Me.Controls.Add(Me.lblSeitenwechsel) + Me.Controls.Add(Me.lblFontSizeDateTime) + Me.Controls.Add(Me.lblFontSizeLkwNummer) + Me.Controls.Add(Me.lblTileHeight) + Me.Controls.Add(Me.lblTileWidth) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.Margin = New System.Windows.Forms.Padding(2) + Me.MaximizeBox = False + Me.Name = "frmTvSettings" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen + Me.Text = "TV Einstellungen" + CType(Me.numTileWidth, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numTileHeight, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numFontSizeLkwNummer, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numFontSizeDateTime, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numSeitenwechsel, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numTextBalkenHeight, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.numKachelRowGapInPercent, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Private WithEvents numKachelRowGapInPercent As NumericUpDown + Private WithEvents Label1 As Label +End Class diff --git a/Aviso/frmTvSettings.resx b/Aviso/frmTvSettings.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Aviso/frmTvSettings.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/Aviso/frmTvSettings.vb b/Aviso/frmTvSettings.vb new file mode 100644 index 0000000..2d58d38 --- /dev/null +++ b/Aviso/frmTvSettings.vb @@ -0,0 +1,139 @@ +Imports System.Data.SqlClient +Imports AVISO.frmEintragTvNew +Imports VERAG_PROG_ALLGEMEIN + +Partial Class frmTvSettings + Inherits System.Windows.Forms.Form + + Private standortID As Integer + Private AvisoTvNewDAL As New cAvisoTvNewDAL() + Private list As New List(Of cAvisoTvNew)() + + Public Sub New(standortID As Integer) + InitializeComponent() + Me.standortID = standortID + End Sub + + ' Ereignis-Handler für das Laden des Formulars + Private Sub frmTvSettings_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Try + ' Einstellungen aus der Datenbank laden + Dim settingsList As List(Of cTvSettings) = AvisoTvNewDAL.GetTvSettingsByStandort(standortID) + + ' ComboBox initialisieren + InitializeComboBox() + + If settingsList IsNot Nothing AndAlso settingsList.Count > 0 Then + Dim settings As cTvSettings = settingsList(0) + numTileWidth.Value = If(settings.KachelWidthInPercent >= numTileWidth.Minimum AndAlso settings.KachelWidthInPercent <= numTileWidth.Maximum, CDec(settings.KachelWidthInPercent), 30) + numTileHeight.Value = If(settings.KachelHeightInPercent >= numTileHeight.Minimum AndAlso settings.KachelHeightInPercent <= numTileHeight.Maximum, CDec(settings.KachelHeightInPercent), 30) + numFontSizeLkwNummer.Value = If(settings.KachelFontSizeLkwNummer >= numFontSizeLkwNummer.Minimum AndAlso settings.KachelFontSizeLkwNummer <= numFontSizeLkwNummer.Maximum, CDec(settings.KachelFontSizeLkwNummer), 12) + numFontSizeDateTime.Value = If(settings.KachelFontSizeDateTime >= numFontSizeDateTime.Minimum AndAlso settings.KachelFontSizeDateTime <= numFontSizeDateTime.Maximum, CDec(settings.KachelFontSizeDateTime), 12) + numSeitenwechsel.Value = If(settings.SeitenwechselInSek >= numSeitenwechsel.Minimum AndAlso settings.SeitenwechselInSek <= numSeitenwechsel.Maximum, CDec(settings.SeitenwechselInSek), 30) + numTextBalkenHeight.Value = If(settings.TextBalkenHeightInPercent >= numTextBalkenHeight.Minimum AndAlso settings.TextBalkenHeightInPercent <= numTextBalkenHeight.Maximum, CDec(settings.TextBalkenHeightInPercent), 30) + numKachelRowGapInPercent.Value = If(settings.KachelRowGapInPercent >= numKachelRowGapInPercent.Minimum AndAlso settings.KachelRowGapInPercent <= numKachelRowGapInPercent.Maximum, CDec(settings.KachelRowGapInPercent), 15) + + ' Logo-Auswahl setzen + cmbLogoSelection.SelectedValue = settings.SelectedLogoValue + + ' Überprüfen, ob die Auswahl erfolgreich war + If cmbLogoSelection.SelectedValue Is Nothing Then + ' Wenn nicht, setze auf den ersten Eintrag + cmbLogoSelection.SelectedIndex = 0 + End If + Else + ' Standardwerte verwenden, falls keine Einstellungen vorhanden sind + SetDefaultValues() + End If + Catch ex As Exception + MessageBox.Show("Fehler beim Laden der Einstellungen: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error) + SetDefaultValues() + End Try + End Sub + + ' Klasse für ComboBox-Elemente + Public Class ComboBoxItem + Public Property Display As String + Public Property Value As String + + Public Sub New(display As String, value As String) + Me.Display = display + Me.Value = value + End Sub + + Public Overrides Function ToString() As String + Return Display + End Function + End Class + + ' Methode zur Initialisierung der ComboBox + Private Sub InitializeComboBox() + ' Legen Sie die DisplayMember und ValueMember fest + cmbLogoSelection.DisplayMember = "Display" + cmbLogoSelection.ValueMember = "Value" + + ' Erstellen Sie eine Liste von ComboBoxItem-Objekten + Dim logoItems As New List(Of ComboBoxItem) From { + New ComboBoxItem("VERAG AG", "verag.png"), + New ComboBoxItem("ATILLA", "atilla.png"), + New ComboBoxItem("ATILLA TÜRKIYE", "atilla_turkiye.jpg"), + New ComboBoxItem("FRONTOFFICE_SUBEN", "frontoffice_suben.jpg"), + New ComboBoxItem("IMEX", "imex.png"), + New ComboBoxItem("UNISPED", "unisped.jpg") + } + + ' Binden Sie die Liste als DataSource + cmbLogoSelection.DataSource = logoItems + + ' Optional: Setzen Sie die Standardauswahl + If logoItems.Count > 0 Then + cmbLogoSelection.SelectedIndex = 0 + End If + End Sub + + ' Methode zum Setzen der Standardwerte + Private Sub SetDefaultValues() + numTileWidth.Value = 30 + numTileHeight.Value = 30 + numFontSizeLkwNummer.Value = 12 + numFontSizeDateTime.Value = 12 + numSeitenwechsel.Value = 30 + numTextBalkenHeight.Value = 30 + numKachelRowGapInPercent.Value = 15 + + ' Sicherstellen, dass die ComboBox initialisiert ist + If cmbLogoSelection.Items.Count > 0 Then + cmbLogoSelection.SelectedIndex = 0 + End If + End Sub + + ' Ereignis-Handler für den Speichern-Button + Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click + Try + ' Holen Sie sich das ausgewählte ComboBoxItem + Dim selectedItem As ComboBoxItem = CType(cmbLogoSelection.SelectedItem, ComboBoxItem) + Dim selectedValue As String = If(selectedItem IsNot Nothing, selectedItem.Value, String.Empty) + + Dim settings As New cTvSettings() With { + .StandortID = standortID, + .KachelWidthInPercent = CDbl(numTileWidth.Value), + .KachelHeightInPercent = CDbl(numTileHeight.Value), + .KachelFontSizeLkwNummer = CDbl(numFontSizeLkwNummer.Value), + .KachelFontSizeDateTime = CDbl(numFontSizeDateTime.Value), + .SeitenwechselInSek = CDbl(numSeitenwechsel.Value), + .TextBalkenHeightInPercent = CDbl(numTextBalkenHeight.Value), + .KachelRowGapInPercent = CDbl(numKachelRowGapInPercent.Value), + .SelectedLogoValue = selectedValue ' Stellen Sie sicher, dass diese Eigenschaft in cTvSettings existiert + } + + ' Einstellungen in der Datenbank speichern + AvisoTvNewDAL.SaveTvSettings(settings) + + MessageBox.Show("Einstellungen wurden erfolgreich gespeichert!", "Erfolg", MessageBoxButtons.OK, MessageBoxIcon.Information) + Me.Close() + Catch ex As Exception + MessageBox.Show("Fehler beim Speichern der Einstellungen: " & ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error) + End Try + End Sub + +End Class diff --git a/AvisoTV/frmAnzeige.vb b/AvisoTV/frmAnzeige.vb index 13686d6..f1588af 100644 --- a/AvisoTV/frmAnzeige.vb +++ b/AvisoTV/frmAnzeige.vb @@ -394,7 +394,7 @@ Public Class frmAnzeige r.Cells(0).Style.Font = Font1_MESS Dim doimage As Image = Nothing Select Case r.Cells(0).Value.ToString - Case "PASSPORT" : doimage = My.Resources.passport : r.Cells(0).Value = "PASSPORT" ' r.Cells(0).Value = "PASS" + Case ",pn" : doimage = My.Resources.passport : r.Cells(0).Value = "PASSPORT" ' r.Cells(0).Value = "PASS" Case "DOKUMENT" : doimage = My.Resources.passport : r.Cells(0).Value = "PROBLEM" ' r.Cells(0).Value = "PASS" Case "URGENT" : doimage = My.Resources.urgent_qu : r.Cells(0).Value = "PROBLEM" End Select