Adatta interfaccia touch e pubblica ClickOnce 1.0.12.0
This commit is contained in:
1 parent
c820261908
commit
8a7433cb97
10 files changed
+200
-123
No files matched your search
@@ -73,8 +73,8 @@ Public Class Form1
|
||||
Private Sub BuildInterface()
|
||||
Text = "LMEMoxaTransfer"
|
||||
Icon = New Icon(Path.Combine(Application.StartupPath, "Assets", "app-icon.ico"))
|
||||
MinimumSize = New Size(1030, 690)
|
||||
Size = New Size(1120, 760)
|
||||
MinimumSize = New Size(800, 560)
|
||||
Size = New Size(1050, 720)
|
||||
StartPosition = FormStartPosition.CenterScreen
|
||||
|
||||
Dim shell As New TableLayoutPanel With {
|
||||
@@ -93,20 +93,27 @@ Public Class Form1
|
||||
mainMenu.Dock = DockStyle.Fill
|
||||
shell.Controls.Add(mainMenu, 0, 0)
|
||||
|
||||
Dim tabs As New TabControl With {.Dock = DockStyle.Fill, .Margin = Padding.Empty}
|
||||
Dim tabs As New TabControl With {
|
||||
.Dock = DockStyle.Fill,
|
||||
.Margin = Padding.Empty,
|
||||
.Font = New Font(Font.FontFamily, 11.0F),
|
||||
.Padding = New Point(14, 10)
|
||||
}
|
||||
Dim tabTrasferimento As New TabPage("Trasferimento programmi")
|
||||
Dim tabModificaFile As New TabPage("Modifica file")
|
||||
Dim tabStatoMoxa As New TabPage("Stato Moxa")
|
||||
Dim tabParametri As New TabPage("Parametri trasferimento")
|
||||
tabs.TabPages.Add(tabTrasferimento)
|
||||
tabs.TabPages.Add(tabModificaFile)
|
||||
tabs.TabPages.Add(tabStatoMoxa)
|
||||
tabs.TabPages.Add(tabParametri)
|
||||
shell.Controls.Add(tabs, 0, 1)
|
||||
|
||||
Dim root As New TableLayoutPanel With {
|
||||
.Dock = DockStyle.Fill,
|
||||
.ColumnCount = 1,
|
||||
.RowCount = 4,
|
||||
.Padding = New Padding(14)
|
||||
.Padding = New Padding(12)
|
||||
}
|
||||
root.RowStyles.Add(New RowStyle(SizeType.AutoSize))
|
||||
root.RowStyles.Add(New RowStyle(SizeType.AutoSize))
|
||||
@@ -122,22 +129,30 @@ Public Class Form1
|
||||
}
|
||||
root.Controls.Add(grpConnessione, 0, 0)
|
||||
|
||||
Dim conn As New TableLayoutPanel With {.Dock = DockStyle.Fill, .ColumnCount = 10, .AutoSize = True}
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 150))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 230))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 135))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 90))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
conn.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 90))
|
||||
Dim conn As New TableLayoutPanel With {.Dock = DockStyle.Fill, .ColumnCount = 1, .RowCount = 2, .AutoSize = True}
|
||||
conn.RowStyles.Add(New RowStyle(SizeType.Absolute, 58))
|
||||
conn.RowStyles.Add(New RowStyle(SizeType.Absolute, 42))
|
||||
grpConnessione.Controls.Add(conn)
|
||||
|
||||
cboAzienda.DropDownStyle = ComboBoxStyle.DropDownList
|
||||
Dim selectors As New TableLayoutPanel With {.Dock = DockStyle.Fill, .ColumnCount = 4}
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50))
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50))
|
||||
conn.Controls.Add(selectors, 0, 0)
|
||||
|
||||
Dim details As New TableLayoutPanel With {.Dock = DockStyle.Fill, .ColumnCount = 6}
|
||||
details.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
details.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 38))
|
||||
details.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
details.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 31))
|
||||
details.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
details.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 31))
|
||||
conn.Controls.Add(details, 0, 1)
|
||||
|
||||
ConfigureTouchCombo(cboAzienda)
|
||||
cboAzienda.Dock = DockStyle.Fill
|
||||
cboMacchina.DropDownStyle = ComboBoxStyle.DropDownList
|
||||
ConfigureTouchCombo(cboMacchina)
|
||||
cboMacchina.Dock = DockStyle.Fill
|
||||
txtIpMoxa.Dock = DockStyle.Fill
|
||||
txtIpMoxa.ReadOnly = True
|
||||
@@ -148,16 +163,16 @@ Public Class Form1
|
||||
nudTimeoutInattivita.Minimum = 1
|
||||
nudTimeoutInattivita.Maximum = 120
|
||||
|
||||
conn.Controls.Add(New Label With {.Text = "Azienda", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 0)
|
||||
conn.Controls.Add(cboAzienda, 1, 0)
|
||||
conn.Controls.Add(New Label With {.Text = "Macchina", .AutoSize = True, .Anchor = AnchorStyles.Left, .Margin = New Padding(14, 0, 3, 0)}, 2, 0)
|
||||
conn.Controls.Add(cboMacchina, 3, 0)
|
||||
conn.Controls.Add(New Label With {.Text = "IP Moxa", .AutoSize = True, .Anchor = AnchorStyles.Left, .Margin = New Padding(14, 0, 3, 0)}, 4, 0)
|
||||
conn.Controls.Add(txtIpMoxa, 5, 0)
|
||||
conn.Controls.Add(New Label With {.Text = "Porta", .AutoSize = True, .Anchor = AnchorStyles.Left, .Margin = New Padding(14, 0, 3, 0)}, 6, 0)
|
||||
conn.Controls.Add(nudPorta, 7, 0)
|
||||
conn.Controls.Add(New Label With {.Text = "Timeout s", .AutoSize = True, .Anchor = AnchorStyles.Left, .Margin = New Padding(14, 0, 3, 0)}, 8, 0)
|
||||
conn.Controls.Add(nudTimeoutConnessione, 9, 0)
|
||||
selectors.Controls.Add(New Label With {.Text = "Azienda", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 0)
|
||||
selectors.Controls.Add(cboAzienda, 1, 0)
|
||||
selectors.Controls.Add(New Label With {.Text = "Macchina", .AutoSize = True, .Anchor = AnchorStyles.Left, .Margin = New Padding(12, 0, 3, 0)}, 2, 0)
|
||||
selectors.Controls.Add(cboMacchina, 3, 0)
|
||||
details.Controls.Add(New Label With {.Text = "IP Moxa", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 0)
|
||||
details.Controls.Add(txtIpMoxa, 1, 0)
|
||||
details.Controls.Add(New Label With {.Text = "Porta", .AutoSize = True, .Anchor = AnchorStyles.Left}, 2, 0)
|
||||
details.Controls.Add(nudPorta, 3, 0)
|
||||
details.Controls.Add(New Label With {.Text = "Timeout s", .AutoSize = True, .Anchor = AnchorStyles.Left}, 4, 0)
|
||||
details.Controls.Add(nudTimeoutConnessione, 5, 0)
|
||||
|
||||
Dim grpTrasferimento As New GroupBox With {
|
||||
.Text = "Invio e ricezione programmi",
|
||||
@@ -168,11 +183,14 @@ Public Class Form1
|
||||
}
|
||||
root.Controls.Add(grpTrasferimento, 0, 1)
|
||||
|
||||
Dim transfer As New TableLayoutPanel With {.Dock = DockStyle.Fill, .ColumnCount = 4, .RowCount = 10, .AutoSize = True}
|
||||
transfer.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
Dim transfer As New TableLayoutPanel With {.Dock = DockStyle.Fill, .ColumnCount = 4, .RowCount = 3, .AutoSize = True}
|
||||
transfer.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 130))
|
||||
transfer.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 100))
|
||||
transfer.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
transfer.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 120))
|
||||
transfer.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 125))
|
||||
transfer.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 155))
|
||||
transfer.RowStyles.Add(New RowStyle(SizeType.Absolute, 62))
|
||||
transfer.RowStyles.Add(New RowStyle(SizeType.Absolute, 62))
|
||||
transfer.RowStyles.Add(New RowStyle(SizeType.Absolute, 58))
|
||||
grpTrasferimento.Controls.Add(transfer)
|
||||
|
||||
ConfigureButton(btnSfogliaInvio, "Sfoglia")
|
||||
@@ -181,11 +199,18 @@ Public Class Form1
|
||||
ConfigureButton(btnInvia, "Invia a Okuma")
|
||||
ConfigureButton(btnRicevi, "Ricevi da Okuma")
|
||||
ConfigureButton(btnAnnulla, "Annulla")
|
||||
For Each actionButton In {btnSfogliaInvio, btnSfogliaRicezione, btnInvia, btnRicevi, btnAnnulla}
|
||||
actionButton.Dock = DockStyle.Fill
|
||||
Next
|
||||
btnAnnulla.Enabled = False
|
||||
|
||||
txtFileInvio.Dock = DockStyle.Fill
|
||||
txtFileRicezione.Dock = DockStyle.Fill
|
||||
cboTerminatoreInvio.DropDownStyle = ComboBoxStyle.DropDownList
|
||||
For Each pathBox In {txtFileInvio, txtFileRicezione}
|
||||
pathBox.Dock = DockStyle.Fill
|
||||
pathBox.AutoSize = False
|
||||
pathBox.Font = New Font(Font.FontFamily, 11.0F)
|
||||
pathBox.Margin = New Padding(3, 8, 3, 8)
|
||||
Next
|
||||
ConfigureTouchCombo(cboTerminatoreInvio)
|
||||
cboTerminatoreInvio.Items.AddRange(New Object() {"Nessuno", "CR", "LF", "CRLF", "%", "% + CRLF"})
|
||||
chkInvioRigaPerRiga.Text = "Invio riga per riga"
|
||||
chkInvioRigaPerRiga.AutoSize = True
|
||||
@@ -203,38 +228,19 @@ Public Class Form1
|
||||
transfer.Controls.Add(txtFileRicezione, 1, 1)
|
||||
transfer.Controls.Add(btnSfogliaRicezione, 2, 1)
|
||||
transfer.Controls.Add(btnRicevi, 3, 1)
|
||||
transfer.Controls.Add(New Label With {.Text = "Terminatore invio", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 2)
|
||||
transfer.Controls.Add(cboTerminatoreInvio, 1, 2)
|
||||
transfer.Controls.Add(btnAnnulla, 3, 2)
|
||||
transfer.Controls.Add(New Label With {.Text = "Pausa riga ms", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 3)
|
||||
transfer.Controls.Add(nudPausaRiga, 1, 3)
|
||||
transfer.Controls.Add(chkInvioRigaPerRiga, 2, 3)
|
||||
transfer.Controls.Add(New Label With {.Text = "Pausa carattere ms", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 4)
|
||||
transfer.Controls.Add(nudPausaCarattere, 1, 4)
|
||||
transfer.Controls.Add(chkInvioCaratterePerCarattere, 2, 4)
|
||||
transfer.Controls.Add(New Label With {.Text = "Modo Okuma READ", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 5)
|
||||
transfer.Controls.Add(chkInvioBlocchi, 1, 5)
|
||||
transfer.Controls.Add(New Label With {.Text = "Dim. blocco byte", .AutoSize = True, .Anchor = AnchorStyles.Left}, 2, 5)
|
||||
transfer.Controls.Add(nudDimensioneBlocco, 3, 5)
|
||||
transfer.Controls.Add(New Label With {.Text = "Pausa blocco ms", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 6)
|
||||
transfer.Controls.Add(nudPausaBlocco, 1, 6)
|
||||
transfer.Controls.Add(New Label With {.Text = "Fine ricez. s", .AutoSize = True, .Anchor = AnchorStyles.Left}, 2, 6)
|
||||
transfer.Controls.Add(nudTimeoutInattivita, 3, 6)
|
||||
transfer.Controls.Add(New Label With {.Text = "Attesa prima invio s", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 7)
|
||||
transfer.Controls.Add(nudAttesaPrimaInvio, 1, 7)
|
||||
transfer.Controls.Add(btnTestConnessione, 3, 7)
|
||||
transfer.Controls.Add(New Label With {.Text = "Attesa dopo invio s", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 8)
|
||||
transfer.Controls.Add(nudAttesaDopoInvio, 1, 8)
|
||||
|
||||
Dim hint As New Label With {
|
||||
.Text = "Prima di ricevere o inviare, selezionare azienda e macchina. I parametri Moxa vengono compilati dal file JSON nello start path.",
|
||||
.AutoSize = True,
|
||||
.Dock = DockStyle.Fill,
|
||||
.ForeColor = Color.FromArgb(70, 70, 70),
|
||||
.Margin = New Padding(0, 10, 0, 0)
|
||||
.Margin = New Padding(0, 8, 0, 0)
|
||||
}
|
||||
transfer.SetColumnSpan(hint, 4)
|
||||
transfer.Controls.Add(hint, 0, 9)
|
||||
transfer.SetColumnSpan(hint, 3)
|
||||
transfer.Controls.Add(hint, 0, 2)
|
||||
|
||||
BuildTransferSettingsTab(tabParametri)
|
||||
|
||||
txtLog.Dock = DockStyle.Fill
|
||||
txtLog.Multiline = True
|
||||
@@ -268,6 +274,77 @@ Public Class Form1
|
||||
Log($"Pronto. Configurazione: {ConfigPath()}")
|
||||
End Sub
|
||||
|
||||
Private Sub BuildTransferSettingsTab(tab As TabPage)
|
||||
tab.AutoScroll = True
|
||||
Dim settings As New TableLayoutPanel With {
|
||||
.Dock = DockStyle.Top,
|
||||
.AutoSize = True,
|
||||
.ColumnCount = 4,
|
||||
.RowCount = 8,
|
||||
.Padding = New Padding(16)
|
||||
}
|
||||
settings.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 175))
|
||||
settings.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50))
|
||||
settings.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 240))
|
||||
settings.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 50))
|
||||
For row = 0 To 7
|
||||
settings.RowStyles.Add(New RowStyle(SizeType.Absolute, 54))
|
||||
Next
|
||||
tab.Controls.Add(settings)
|
||||
|
||||
settings.Controls.Add(New Label With {.Text = "Terminatore invio", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 0)
|
||||
settings.Controls.Add(cboTerminatoreInvio, 1, 0)
|
||||
settings.Controls.Add(New Label With {.Text = "Fine ricez. s", .AutoSize = True, .Anchor = AnchorStyles.Left}, 2, 0)
|
||||
settings.Controls.Add(nudTimeoutInattivita, 3, 0)
|
||||
settings.Controls.Add(New Label With {.Text = "Pausa riga ms", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 1)
|
||||
settings.Controls.Add(nudPausaRiga, 1, 1)
|
||||
settings.Controls.Add(chkInvioRigaPerRiga, 2, 1)
|
||||
settings.Controls.Add(New Label With {.Text = "Pausa carattere ms", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 2)
|
||||
settings.Controls.Add(nudPausaCarattere, 1, 2)
|
||||
settings.Controls.Add(chkInvioCaratterePerCarattere, 2, 2)
|
||||
settings.Controls.Add(New Label With {.Text = "Modo Okuma READ", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 3)
|
||||
settings.Controls.Add(chkInvioBlocchi, 1, 3)
|
||||
settings.Controls.Add(New Label With {.Text = "Dim. blocco byte", .AutoSize = True, .Anchor = AnchorStyles.Left}, 2, 3)
|
||||
settings.Controls.Add(nudDimensioneBlocco, 3, 3)
|
||||
settings.Controls.Add(New Label With {.Text = "Pausa blocco ms", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 4)
|
||||
settings.Controls.Add(nudPausaBlocco, 1, 4)
|
||||
settings.Controls.Add(New Label With {.Text = "Attesa prima invio s", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 5)
|
||||
settings.Controls.Add(nudAttesaPrimaInvio, 1, 5)
|
||||
settings.Controls.Add(New Label With {.Text = "Attesa dopo invio s", .AutoSize = True, .Anchor = AnchorStyles.Left}, 0, 6)
|
||||
settings.Controls.Add(nudAttesaDopoInvio, 1, 6)
|
||||
settings.Controls.Add(btnTestConnessione, 2, 7)
|
||||
|
||||
cboTerminatoreInvio.Dock = DockStyle.Fill
|
||||
For Each numericControl In {nudTimeoutInattivita, nudPausaRiga, nudPausaCarattere, nudDimensioneBlocco, nudPausaBlocco, nudAttesaPrimaInvio, nudAttesaDopoInvio}
|
||||
numericControl.Dock = DockStyle.Fill
|
||||
numericControl.Font = New Font(Font.FontFamily, 11.0F)
|
||||
numericControl.Margin = New Padding(3, 10, 3, 10)
|
||||
Next
|
||||
For Each checkControl In {chkInvioRigaPerRiga, chkInvioCaratterePerCarattere, chkInvioBlocchi}
|
||||
checkControl.Anchor = AnchorStyles.Left
|
||||
checkControl.Font = New Font(Font.FontFamily, 11.0F)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Shared Sub ConfigureTouchCombo(combo As ComboBox)
|
||||
combo.DropDownStyle = ComboBoxStyle.DropDownList
|
||||
combo.DrawMode = DrawMode.OwnerDrawFixed
|
||||
combo.ItemHeight = 42
|
||||
combo.Font = New Font(SystemFonts.MessageBoxFont.FontFamily, 12.0F)
|
||||
combo.Margin = New Padding(3, 5, 3, 5)
|
||||
AddHandler combo.DrawItem,
|
||||
Sub(sender, e)
|
||||
If e.Index < 0 Then Return
|
||||
e.DrawBackground()
|
||||
Dim selected = (e.State And DrawItemState.Selected) = DrawItemState.Selected
|
||||
Dim color = If(selected, SystemColors.HighlightText, SystemColors.ControlText)
|
||||
Dim bounds = New Rectangle(e.Bounds.Left + 8, e.Bounds.Top, e.Bounds.Width - 12, e.Bounds.Height)
|
||||
TextRenderer.DrawText(e.Graphics, combo.GetItemText(combo.Items(e.Index)), combo.Font, bounds, color,
|
||||
TextFormatFlags.Left Or TextFormatFlags.VerticalCenter Or TextFormatFlags.EndEllipsis)
|
||||
e.DrawFocusRectangle()
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
Private Function BuildMainMenu() As MenuStrip
|
||||
Dim menu As New MenuStrip()
|
||||
Dim strumenti As New ToolStripMenuItem("Strumenti")
|
||||
@@ -304,11 +381,10 @@ Public Class Form1
|
||||
root.RowStyles.Add(New RowStyle(SizeType.AutoSize))
|
||||
tab.Controls.Add(root)
|
||||
|
||||
Dim selectors As New TableLayoutPanel With {.Dock = DockStyle.Top, .ColumnCount = 4, .RowCount = 2, .AutoSize = True}
|
||||
Dim selectors As New TableLayoutPanel With {.Dock = DockStyle.Top, .ColumnCount = 3, .RowCount = 2, .AutoSize = True}
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.Percent, 100))
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
|
||||
selectors.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 150))
|
||||
root.Controls.Add(selectors, 0, 0)
|
||||
|
||||
ConfigureButton(btnSfogliaModifica, "Sfoglia")
|
||||
@@ -882,8 +958,9 @@ Public Class Form1
|
||||
Private Shared Sub ConfigureButton(button As Button, text As String)
|
||||
button.Text = text
|
||||
button.AutoSize = True
|
||||
button.MinimumSize = New Size(110, 32)
|
||||
button.Margin = New Padding(8, 3, 0, 3)
|
||||
button.Font = New Font(SystemFonts.MessageBoxFont.FontFamily, 11.0F)
|
||||
button.MinimumSize = New Size(120, 48)
|
||||
button.Margin = New Padding(6, 4, 0, 4)
|
||||
End Sub
|
||||
|
||||
Private Sub SelectInputFile(sender As Object, e As EventArgs)
|
||||
|
||||
Reference in new issue
Block a user