LicenseManager 2.1b4:

- Aggiunte: Icona, Title, AboutBox
This commit is contained in:
Renzo Lanza
2019-03-01 14:20:56 +00:00
parent e9e4db3cef
commit 9ab0d0cef5
12 changed files with 621 additions and 16 deletions
+182
View File
@@ -0,0 +1,182 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class AboutBox
Inherits System.Windows.Forms.Form
'Form esegue l'override del metodo Dispose per pulire l'elenco dei componenti.
<System.Diagnostics.DebuggerNonUserCode()> _
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
Friend WithEvents TableLayoutPanel As System.Windows.Forms.TableLayoutPanel
Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox
Friend WithEvents LabelProductName As System.Windows.Forms.Label
Friend WithEvents LabelVersion As System.Windows.Forms.Label
Friend WithEvents LabelCompanyName As System.Windows.Forms.Label
Friend WithEvents TextBoxDescription As System.Windows.Forms.TextBox
Friend WithEvents OKButton As System.Windows.Forms.Button
Friend WithEvents LabelCopyright As System.Windows.Forms.Label
'Richiesto da Progettazione Windows Form
Private components As System.ComponentModel.IContainer
'NOTA: la procedura che segue è richiesta da Progettazione Windows Form
'Può essere modificata in Progettazione Windows Form.
'Non modificarla mediante l'editor del codice.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(AboutBox))
Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel()
Me.LogoPictureBox = New System.Windows.Forms.PictureBox()
Me.LabelProductName = New System.Windows.Forms.Label()
Me.LabelVersion = New System.Windows.Forms.Label()
Me.LabelCopyright = New System.Windows.Forms.Label()
Me.LabelCompanyName = New System.Windows.Forms.Label()
Me.TextBoxDescription = New System.Windows.Forms.TextBox()
Me.OKButton = New System.Windows.Forms.Button()
Me.TableLayoutPanel.SuspendLayout()
CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'TableLayoutPanel
'
Me.TableLayoutPanel.ColumnCount = 2
Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.0!))
Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.0!))
Me.TableLayoutPanel.Controls.Add(Me.LogoPictureBox, 0, 0)
Me.TableLayoutPanel.Controls.Add(Me.LabelProductName, 1, 0)
Me.TableLayoutPanel.Controls.Add(Me.LabelVersion, 1, 1)
Me.TableLayoutPanel.Controls.Add(Me.LabelCopyright, 1, 2)
Me.TableLayoutPanel.Controls.Add(Me.LabelCompanyName, 1, 3)
Me.TableLayoutPanel.Controls.Add(Me.TextBoxDescription, 1, 4)
Me.TableLayoutPanel.Controls.Add(Me.OKButton, 1, 5)
Me.TableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill
Me.TableLayoutPanel.Location = New System.Drawing.Point(12, 11)
Me.TableLayoutPanel.Margin = New System.Windows.Forms.Padding(4)
Me.TableLayoutPanel.Name = "TableLayoutPanel"
Me.TableLayoutPanel.RowCount = 6
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
Me.TableLayoutPanel.Size = New System.Drawing.Size(528, 318)
Me.TableLayoutPanel.TabIndex = 0
'
'LogoPictureBox
'
Me.LogoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill
Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image)
Me.LogoPictureBox.Location = New System.Drawing.Point(4, 4)
Me.LogoPictureBox.Margin = New System.Windows.Forms.Padding(4)
Me.LogoPictureBox.Name = "LogoPictureBox"
Me.TableLayoutPanel.SetRowSpan(Me.LogoPictureBox, 6)
Me.LogoPictureBox.Size = New System.Drawing.Size(166, 310)
Me.LogoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.LogoPictureBox.TabIndex = 0
Me.LogoPictureBox.TabStop = False
'
'LabelProductName
'
Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill
Me.LabelProductName.Location = New System.Drawing.Point(182, 0)
Me.LabelProductName.Margin = New System.Windows.Forms.Padding(8, 0, 4, 0)
Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 21)
Me.LabelProductName.Name = "LabelProductName"
Me.LabelProductName.Size = New System.Drawing.Size(342, 21)
Me.LabelProductName.TabIndex = 0
Me.LabelProductName.Text = "Nome prodotto"
Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'LabelVersion
'
Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill
Me.LabelVersion.Location = New System.Drawing.Point(182, 31)
Me.LabelVersion.Margin = New System.Windows.Forms.Padding(8, 0, 4, 0)
Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 21)
Me.LabelVersion.Name = "LabelVersion"
Me.LabelVersion.Size = New System.Drawing.Size(342, 21)
Me.LabelVersion.TabIndex = 0
Me.LabelVersion.Text = "Versione"
Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'LabelCopyright
'
Me.LabelCopyright.Dock = System.Windows.Forms.DockStyle.Fill
Me.LabelCopyright.Location = New System.Drawing.Point(182, 62)
Me.LabelCopyright.Margin = New System.Windows.Forms.Padding(8, 0, 4, 0)
Me.LabelCopyright.MaximumSize = New System.Drawing.Size(0, 21)
Me.LabelCopyright.Name = "LabelCopyright"
Me.LabelCopyright.Size = New System.Drawing.Size(342, 21)
Me.LabelCopyright.TabIndex = 0
Me.LabelCopyright.Text = "Copyright"
Me.LabelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'LabelCompanyName
'
Me.LabelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill
Me.LabelCompanyName.Location = New System.Drawing.Point(182, 93)
Me.LabelCompanyName.Margin = New System.Windows.Forms.Padding(8, 0, 4, 0)
Me.LabelCompanyName.MaximumSize = New System.Drawing.Size(0, 21)
Me.LabelCompanyName.Name = "LabelCompanyName"
Me.LabelCompanyName.Size = New System.Drawing.Size(342, 21)
Me.LabelCompanyName.TabIndex = 0
Me.LabelCompanyName.Text = "Nome società"
Me.LabelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
'TextBoxDescription
'
Me.TextBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill
Me.TextBoxDescription.Location = New System.Drawing.Point(182, 128)
Me.TextBoxDescription.Margin = New System.Windows.Forms.Padding(8, 4, 4, 4)
Me.TextBoxDescription.Multiline = True
Me.TextBoxDescription.Name = "TextBoxDescription"
Me.TextBoxDescription.ReadOnly = True
Me.TextBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both
Me.TextBoxDescription.Size = New System.Drawing.Size(342, 151)
Me.TextBoxDescription.TabIndex = 0
Me.TextBoxDescription.TabStop = False
Me.TextBoxDescription.Text = resources.GetString("TextBoxDescription.Text")
'
'OKButton
'
Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.OKButton.Location = New System.Drawing.Point(424, 287)
Me.OKButton.Margin = New System.Windows.Forms.Padding(4)
Me.OKButton.Name = "OKButton"
Me.OKButton.Size = New System.Drawing.Size(100, 27)
Me.OKButton.TabIndex = 0
Me.OKButton.Text = "&OK"
'
'AboutBox
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.CancelButton = Me.OKButton
Me.ClientSize = New System.Drawing.Size(552, 340)
Me.Controls.Add(Me.TableLayoutPanel)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
Me.Margin = New System.Windows.Forms.Padding(4)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "AboutBox"
Me.Padding = New System.Windows.Forms.Padding(12, 11, 12, 11)
Me.ShowInTaskbar = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
Me.Text = "AboutBox"
Me.TableLayoutPanel.ResumeLayout(False)
Me.TableLayoutPanel.PerformLayout()
CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
End Class
+343
View File
@@ -0,0 +1,343 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="LogoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
/9j/4AAQSkZJRgABAQEAeAB4AAD/4QB4RXhpZgAATU0AKgAAAAgABgExAAIAAAARAAAAVgMBAAUAAAAB
AAAAaAMDAAEAAAABAAAAAFEQAAEAAAABAQAAAFERAAQAAAABAAAOw1ESAAQAAAABAAAOwwAAAABwYWlu
dC5uZXQgNC4wLjIxAAAAAYagAACxj//bAEMAAgEBAgEBAgICAgICAgIDBQMDAwMDBgQEAwUHBgcHBwYH
BwgJCwkICAoIBwcKDQoKCwwMDAwHCQ4PDQwOCwwMDP/bAEMBAgICAwMDBgMDBgwIBwgMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAMIAwgMBIgACEQEDEQH/
xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEF
EiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNU
VVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPE
xcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQID
BAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS
8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqC
g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo
6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP38ooooAKKKKAPIbL9sXw2f2vNT+D94fsetW+nW99Yzu48u
+d1Z5Lcf3ZVj2OBzuVmx9059er8Of2o/ixeeOv2vvHni6yvpYbpfEs/9nXltIVeOO1k+z20qN1B8uCNh
9a/T3/gnf+29a/tcfDP7Lqklvb+OvD8Spq1suEF2vRbuNf7jn7wHCMcdCpP2vEHCc8HhKWMo6rljzrtK
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
</value>
</data>
<data name="TextBoxDescription.Text" xml:space="preserve">
<value>Descrizione:
(In fase di esecuzione il testo dell'etichetta verrà sostituito con le informazioni sull'assembly dell'applicazione.
Personalizzare le informazioni sull'assembly dell'applicazione nel riquadro Applicazione di Creazione progetti.)</value>
</data>
</root>
+26
View File
@@ -0,0 +1,26 @@
Public NotInheritable Class AboutBox
Private Sub AboutBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Imposta il titolo del form.
Dim ApplicationTitle As String
If My.Application.Info.Title <> "" Then
ApplicationTitle = My.Application.Info.Title
Else
ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
End If
Me.Text = String.Format("Informazioni su {0}", ApplicationTitle)
' Inizializza tutto il testo visualizzato nella finestra di dialogo Informazioni su.
' TODO: Personalizzare le informazioni sull'assembly dell'applicazione nel riquadro "Applicazione"
' della finestra delle proprietà del progetto (accessibile dal menu "Progetto").
Me.LabelProductName.Text = My.Application.Info.ProductName
Me.LabelVersion.Text = String.Format("Versione {0}", My.Application.Info.Version.ToString)
Me.LabelCopyright.Text = My.Application.Info.Copyright
Me.LabelCompanyName.Text = My.Application.Info.CompanyName
Me.TextBoxDescription.Text = My.Application.Info.Description
End Sub
Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
Me.Close()
End Sub
End Class
+18 -1
View File
@@ -58,6 +58,9 @@
<PropertyGroup>
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>LogoLicenceManager.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="EgtUILib">
<HintPath>..\..\EgtProg\DllD32\EgtUILib.dll</HintPath>
@@ -95,6 +98,12 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="AboutBox.Designer.vb">
<DependentUpon>AboutBox.vb</DependentUpon>
</Compile>
<Compile Include="AboutBox.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Application.xaml.vb">
<DependentUpon>Application.xaml</DependentUpon>
<SubType>Code</SubType>
@@ -243,6 +252,9 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<EmbeddedResource Include="AboutBox.resx">
<DependentUpon>AboutBox.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
@@ -358,7 +370,12 @@
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Resource Include="LogoLicenceManager.ico" />
</ItemGroup>
<ItemGroup>
<Resource Include="MainWindow\LogoLicenceManager.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\LicenceManager\LicenceManagerR32.exe
Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

+17 -9
View File
@@ -7,7 +7,8 @@
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border BorderBrush="Black"
BorderThickness="1"
@@ -31,7 +32,7 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
</Grid.RowDefinitions>
<Button Content="Nuovo cliente"
Command="{Binding NewClient_Command}"
Height="60"
@@ -62,15 +63,13 @@
Width="170"
Grid.Column="0"
Grid.Row="4"/>
<Button Content="Nuovo rivenditore"
<Button Content="Nuovo rivenditore"
Command="{Binding NewReseller_Command}"
Height="60"
Width="170"
Grid.Column="0"
Grid.Row="5"/>
<Button Content="Cerca cliente"
<Button Content="Cerca cliente"
Command="{Binding SearchClient_Command}"
Height="60"
Width="170"
@@ -100,14 +99,23 @@
Width="170"
Grid.Column="2"
Grid.Row="4"/>
<Button Content="Cerca rivenditore"
<Button Content="Cerca rivenditore"
Command="{Binding SearchReseller_Command}"
Height="60"
Width="170"
Grid.Column="2"
Grid.Row="5"/>
</Grid>
<Border BorderBrush="Gold"
BorderThickness="0"
Height="50"
Grid.Row="2">
<Button Content="About..."
Command="{Binding AboutBox_Command}"
Height="50"
Width="150"
Click="Button_Click"/>
</Border>
</Grid>
</Grid>
+4 -1
View File
@@ -1,3 +1,6 @@
Public Class MainMenuV
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim ab As AboutBox = New AboutBox()
ab.ShowDialog()
End Sub
End Class
+20
View File
@@ -24,6 +24,7 @@ Public Class MainMenuVM
Private m_cmdUpdateProduct As Command
Private m_cmdUpdateVersion As Command
Private m_cmdUpdateReseller As Command
'Private m_cmdAboutBox As Command
#End Region ' FIELDS & PROPERTIES
@@ -371,6 +372,25 @@ Public Class MainMenuVM
#End Region ' SearchReseller
'#Region "AboutBox"
' ' Returns a command that manage the MainWindow_Unloaded command
' Public ReadOnly Property AboutBox_Command As ICommand
' Get
' If m_cmdAboutBox Is Nothing Then
' m_cmdAboutBox = New Command(AddressOf AboutBox)
' End If
' Return m_cmdAboutBox
' End Get
' End Property
' ' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
' Public Sub AboutBox(ByVal param As Object)
' Map.refMainWindowVM.SelProjectMode = MainWindowVM.ProjectModeOpt.SEARCHRESELLER
' End Sub
'#End Region ' AboutBox
#End Region ' COMMANDS
End Class
Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

+1 -1
View File
@@ -8,7 +8,7 @@
Title="{Binding Title}"
MinHeight="300" MinWidth="400"
Width="800" Height="550"
Icon="LogoLicenceManager.Ico"
WindowStartupLocation="CenterScreen">
<!--Pannello principale -->
+8 -2
View File
@@ -228,6 +228,12 @@ Public Class MainWindowVM
Map.BeginInit(Me)
' Costruisco model della MainWindow
m_MainWindowM = New MainWindowM
' Setto il titolo dell'applicazione
SetTitle(My.Application.Info.Title.ToString() & " ver. " &
My.Application.Info.Version.Major.ToString() &
"." & My.Application.Info.Version.Minor.ToString() &
(ChrW(97 - 1 + My.Application.Info.Version.Build)).ToString() &
My.Application.Info.Version.Revision.ToString())
' Imposto pagina MainMenu all'avvio
SelProjectMode = MainWindowVM.ProjectModeOpt.MAINMENU
End Sub
@@ -237,8 +243,8 @@ Public Class MainWindowVM
#Region "METHODS"
Friend Sub SetTitle(sTitle As String)
m_Title = sTitle
NotifyPropertyChanged("Title")
m_Title = sTitle
NotifyPropertyChanged("Title")
End Sub
Friend Sub ContentRendered()
+2 -2
View File
@@ -55,5 +55,5 @@ Imports System.Windows
' usando l'asterisco '*' come illustrato di seguito:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.1.2.3")>
<Assembly: AssemblyFileVersion("2.1.2.3")>
<Assembly: AssemblyVersion("2.1.2.4")>
<Assembly: AssemblyFileVersion("2.1.2.4")>