From ff3805f8d13ecda9538bf6d7560b1804abe345af Mon Sep 17 00:00:00 2001 From: Frozd Date: Thu, 5 Mar 2026 11:31:36 +0100 Subject: [PATCH] feat: installer --- CarManager3Setup/CarManager3Setup.vdproj | 945 ++++++++++++++++++ CarManagerV3.sln | 6 +- CarManagerV3/CarManagerV3.csproj | 16 + CarManagerV3/Forms/CarDetailsForm.Designer.cs | 119 +-- CarManagerV3/Forms/MainForm.cs | 9 +- CarManagerV3/Program.cs | 7 +- CarManagerV3/Properties/launchSettings.json | 7 + 7 files changed, 1038 insertions(+), 71 deletions(-) create mode 100644 CarManager3Setup/CarManager3Setup.vdproj create mode 100644 CarManagerV3/Properties/launchSettings.json diff --git a/CarManager3Setup/CarManager3Setup.vdproj b/CarManager3Setup/CarManager3Setup.vdproj new file mode 100644 index 0000000..7487455 --- /dev/null +++ b/CarManager3Setup/CarManager3Setup.vdproj @@ -0,0 +1,945 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:CarManager3Setup" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_39292C9AEE694F0B982DDECDC0233E12" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A6F761D38264485ABAB61B553E1CAE3C" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\CarManager3Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2" + { + "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)" + "ProductCode" = "8:.NETFramework,Version=v4.7.2" + } + } + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\Install CarManager3.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2" + { + "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)" + "ProductCode" = "8:.NETFramework,Version=v4.7.2" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_BE6C175FA5824CB4993AB2FF72132415" + { + "Name" = "8:.NET Core" + "Message" = "8:[VSDNETCOREMSG]" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:https://dotnet.microsoft.com/download/dotnet-core/[NetCoreVerMajorDotMinor]" + "IsNETCore" = "11:TRUE" + "Architecture" = "2:0" + "Runtime" = "2:0" + } + } + } + "File" + { + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_39292C9AEE694F0B982DDECDC0233E12" + { + "SourcePath" = "8:D:\\Assets\\Car Manager\\Icon\\CarMgm_Icon.ico" + "TargetName" = "8:CarMgm_Icon.ico" + "Tag" = "8:" + "Folder" = "8:_B69138933B80450EA18D704C54E8913F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + } + "FileType" + { + "{5EB83D71-FA18-4901-BE56-DE22E13CC478}:_550DF8606C6E4FA099435CFCBE58D1D0" + { + "Name" = "8:Car Manager CSV" + "Description" = "8:" + "Extensions" = "8:.cars" + "MIME" = "8:" + "Icon" = "8:" + "IconIndex" = "3:0" + "Command" + { + } + "Verbs" + { + "{95C0C507-CBF0-42B8-B119-07219E384A4A}:_1117291E39294ABF930F5B1B3ACA15FF" + { + "Command" = "8:&Open" + "Verb" = "8:open" + "Arguments" = "8:\"%1\"" + "Order" = "3:0" + } + } + } + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_ABAAF45BA6E04B63AF93CAD41EE68B92" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_B69138933B80450EA18D704C54E8913F" + { + "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_FA92AB5FBB9E4B2A8DFF0A59BAB53C34" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:Car Manager 3" + "ProductCode" = "8:{23DE0BDB-AB7E-459C-8A73-F600DEC4B7FD}" + "PackageCode" = "8:{E92D7251-13E4-40F5-8F36-098731540144}" + "UpgradeCode" = "8:{6FF57925-465E-4DB9-85DA-CE933191A3DD}" + "AspNetVersion" = "8:2.0.50727.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:TRUE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:1.1.1" + "Manufacturer" = "8:Jaro Digital" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:CarManager3" + "Subject" = "8:" + "ARPCONTACT" = "8:Jaro Kaulmann" + "Keywords" = "8:" + "ARPCOMMENTS" = "8:" + "ARPURLINFOABOUT" = "8:gital" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_5695532D502444BE91A0C478F8D7F9CB" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E2E34878519F4259A7572964E934FA77" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4A70D52CC9C2400F846505F27696713A" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B6CDBBD5DEF74074A0062C2F0E2197CE" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_37652386F4D345FFA3F0F617A76421F0" + { + "Name" = "8:Applications" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_176B5B9C59A3449C9E564030DCD0C0BD" + { + "Name" = "8:CarManagerV3.exe" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:TRUE" + "Transitive" = "11:TRUE" + "Keys" + { + } + "Values" + { + "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_177A4E06B837439982E11085B44BD4BF" + { + "Name" = "8:FriendlyAppName" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "ValueTypes" = "3:1" + "Value" = "8:Car Manager 3" + } + } + } + } + "Values" + { + } + } + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_94EBE5D4DC27454C9156875337C2D080" + { + "Name" = "8:JaroDigital.CarManager3.Csv" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:TRUE" + "Transitive" = "11:TRUE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EBFFAF07B72047058605B5960F00527A" + { + "Name" = "8:shell" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C0A862A608C941919D3197DE074DC280" + { + "Name" = "8:open" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4E4DFB1A4EB04BB6837C9BAF1C376DBE" + { + "Name" = "8:command" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C09631E4A79F4A178C010713641E6D9B" + { + "Name" = "8:" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "ValueTypes" = "3:1" + "Value" = "8:\"[TARGETDIR]CarManagerV3.exe\" \"%1\"" + } + } + } + } + "Values" + { + } + } + } + "Values" + { + } + } + } + "Values" + { + "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_48B74901C81A43DCA0DE8B5491387241" + { + "Name" = "8:" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "ValueTypes" = "3:1" + "Value" = "8:Car Manager CSV Document" + } + } + } + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C83D25AA8A514BC693E02BB6282D86FB" + { + "Name" = "8:.csv" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2F3AB5CFB25043E8B0AD0F968CA64ED2" + { + "Name" = "8:OpenWithProgids" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_D33BF451D707400587D22B1EE1294F66" + { + "Name" = "8:JaroDigital.CarManager3.Csv" + "Condition" = "8:" + "Transitive" = "11:TRUE" + "ValueTypes" = "3:1" + "Value" = "8:" + } + } + } + } + "Values" + { + } + } + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_103EABB0656F414B9F4AC9C2ABBCAF07" + { + "Name" = "8:Car Manager 3" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_A6F761D38264485ABAB61B553E1CAE3C" + "Folder" = "8:_ABAAF45BA6E04B63AF93CAD41EE68B92" + "WorkingFolder" = "8:" + "Icon" = "8:_39292C9AEE694F0B982DDECDC0233E12" + "Feature" = "8:" + } + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_67294752AD0A4B2BB84AE5D2F31910D8" + { + "Name" = "8:Car Manager 3" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_A6F761D38264485ABAB61B553E1CAE3C" + "Folder" = "8:_FA92AB5FBB9E4B2A8DFF0A59BAB53C34" + "WorkingFolder" = "8:" + "Icon" = "8:_39292C9AEE694F0B982DDECDC0233E12" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3C7A5424D3B44E15AF63D1938BEAA93C" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E63E2F3512D74A9D92622595C6C2EC08" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5709F385CD4F49F39AC9BCBDAA62F1A3" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_24E6E20ECF7B4AC2849B40B24F5D90FC" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_96C7F5AF62F64FB1A24EA7328513009C" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BF080B513BE14E0DAACC8F31D019E0C9" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_623DA07241DE4E80A0D3628A79006B46" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EA3564EDF1A048A89692C4997EA31102" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_62E672AF70DD4D8AB3EB2C5A9BFE8AA3" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_92E8C73A5DE7418C8D75318D26BE27B0" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9EA13BBDAC6840E39D2A41108839D601" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_943ADBC0FCFE4F33920D3C661562FBB6" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_AD8D3F7D88F94349947675C0D5DB334B" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_152B71A00E0C40219C498C8AC811C061" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4540297DA9974AE7BC68437E0F9FA2A1" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AA7545C3AC204A5B8FC42DB7EC8FF060" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_DB6535CD087C4DCE8CBDE1A54CFB960A" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9015A0B2D587408F830EDB20D76C7166" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A6F761D38264485ABAB61B553E1CAE3C" + { + "SourcePath" = "8:..\\CarManagerV3\\bin\\Release\\net8.0-windows\\win-x64\\publish\\CarManagerV3.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_B69138933B80450EA18D704C54E8913F" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:PublishItems" + "OutputProjectGuid" = "8:{93CA258B-A645-41A8-A24F-59036ABC173F}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +} diff --git a/CarManagerV3.sln b/CarManagerV3.sln index 663365f..aaa1e9f 100644 --- a/CarManagerV3.sln +++ b/CarManagerV3.sln @@ -1,10 +1,12 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 18 -VisualStudioVersion = 18.3.11520.95 d18.3 +VisualStudioVersion = 18.3.11520.95 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarManagerV3", "CarManagerV3\CarManagerV3.csproj", "{93CA258B-A645-41A8-A24F-59036ABC173F}" EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CarManager3Setup", "CarManager3Setup\CarManager3Setup.vdproj", "{47ED51EB-1DD0-B8F0-88C8-92C6E3E06030}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +17,8 @@ Global {93CA258B-A645-41A8-A24F-59036ABC173F}.Debug|Any CPU.Build.0 = Debug|Any CPU {93CA258B-A645-41A8-A24F-59036ABC173F}.Release|Any CPU.ActiveCfg = Release|Any CPU {93CA258B-A645-41A8-A24F-59036ABC173F}.Release|Any CPU.Build.0 = Release|Any CPU + {47ED51EB-1DD0-B8F0-88C8-92C6E3E06030}.Debug|Any CPU.ActiveCfg = Debug + {47ED51EB-1DD0-B8F0-88C8-92C6E3E06030}.Release|Any CPU.ActiveCfg = Release EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CarManagerV3/CarManagerV3.csproj b/CarManagerV3/CarManagerV3.csproj index 632e364..5b65e02 100644 --- a/CarManagerV3/CarManagerV3.csproj +++ b/CarManagerV3/CarManagerV3.csproj @@ -23,11 +23,21 @@ true true CarMgm_Icon.ico + Car Manager 3 + 1.1.1 + 1.1.1 + 1.1.1 + Car Manager 3 UserControl + + True + True + Settings.settings + @@ -47,4 +57,10 @@ + + + SettingsSingleFileGenerator + Settings.Designer.cs + + \ No newline at end of file diff --git a/CarManagerV3/Forms/CarDetailsForm.Designer.cs b/CarManagerV3/Forms/CarDetailsForm.Designer.cs index 7e59185..424e58a 100644 --- a/CarManagerV3/Forms/CarDetailsForm.Designer.cs +++ b/CarManagerV3/Forms/CarDetailsForm.Designer.cs @@ -64,7 +64,7 @@ tableLayoutPanel1.AutoSize = true; tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; tableLayoutPanel1.ColumnCount = 2; - tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F)); + tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 70F)); tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); tableLayoutPanel1.Controls.Add(pbxCarImage, 0, 0); tableLayoutPanel1.Controls.Add(label1, 0, 1); @@ -82,18 +82,18 @@ tableLayoutPanel1.Controls.Add(tableLayoutPanel2, 1, 3); tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); - tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 4, 30, 4); + tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 3, 26, 3); tableLayoutPanel1.Name = "tableLayoutPanel1"; tableLayoutPanel1.RowCount = 8; - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 250F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 188F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); + tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F)); tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); - tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F)); - tableLayoutPanel1.Size = new System.Drawing.Size(536, 562); + tableLayoutPanel1.Size = new System.Drawing.Size(469, 422); tableLayoutPanel1.TabIndex = 0; // // pbxCarImage @@ -101,10 +101,9 @@ tableLayoutPanel1.SetColumnSpan(pbxCarImage, 2); pbxCarImage.Dock = System.Windows.Forms.DockStyle.Fill; pbxCarImage.Image = (System.Drawing.Image)resources.GetObject("pbxCarImage.Image"); - pbxCarImage.Location = new System.Drawing.Point(3, 4); - pbxCarImage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + pbxCarImage.Location = new System.Drawing.Point(3, 3); pbxCarImage.Name = "pbxCarImage"; - pbxCarImage.Size = new System.Drawing.Size(530, 242); + pbxCarImage.Size = new System.Drawing.Size(463, 182); pbxCarImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; pbxCarImage.TabIndex = 0; pbxCarImage.TabStop = false; @@ -113,9 +112,9 @@ // label1.AutoSize = true; label1.Dock = System.Windows.Forms.DockStyle.Fill; - label1.Location = new System.Drawing.Point(3, 250); + label1.Location = new System.Drawing.Point(3, 188); label1.Name = "label1"; - label1.Size = new System.Drawing.Size(74, 38); + label1.Size = new System.Drawing.Size(64, 28); label1.TabIndex = 1; label1.Text = "Make:"; label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -123,10 +122,9 @@ // tbxMake // tbxMake.Dock = System.Windows.Forms.DockStyle.Fill; - tbxMake.Location = new System.Drawing.Point(83, 254); - tbxMake.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + tbxMake.Location = new System.Drawing.Point(73, 191); tbxMake.Name = "tbxMake"; - tbxMake.Size = new System.Drawing.Size(450, 27); + tbxMake.Size = new System.Drawing.Size(393, 23); tbxMake.TabIndex = 1; tbxMake.TextChanged += tbxMake_TextChanged; tbxMake.Leave += tbxMake_Leave; @@ -135,9 +133,9 @@ // label2.AutoSize = true; label2.Dock = System.Windows.Forms.DockStyle.Fill; - label2.Location = new System.Drawing.Point(3, 288); + label2.Location = new System.Drawing.Point(3, 216); label2.Name = "label2"; - label2.Size = new System.Drawing.Size(74, 38); + label2.Size = new System.Drawing.Size(64, 28); label2.TabIndex = 3; label2.Text = "Model:"; label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -145,10 +143,9 @@ // tbxModel // tbxModel.Dock = System.Windows.Forms.DockStyle.Fill; - tbxModel.Location = new System.Drawing.Point(83, 292); - tbxModel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + tbxModel.Location = new System.Drawing.Point(73, 219); tbxModel.Name = "tbxModel"; - tbxModel.Size = new System.Drawing.Size(450, 27); + tbxModel.Size = new System.Drawing.Size(393, 23); tbxModel.TabIndex = 2; tbxModel.TextChanged += tbxModel_TextChanged; tbxModel.Leave += tbxModel_Leave; @@ -157,9 +154,9 @@ // label3.AutoSize = true; label3.Dock = System.Windows.Forms.DockStyle.Fill; - label3.Location = new System.Drawing.Point(3, 326); + label3.Location = new System.Drawing.Point(3, 244); label3.Name = "label3"; - label3.Size = new System.Drawing.Size(74, 38); + label3.Size = new System.Drawing.Size(64, 28); label3.TabIndex = 5; label3.Text = "Year:"; label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -168,9 +165,9 @@ // label4.AutoSize = true; label4.Dock = System.Windows.Forms.DockStyle.Fill; - label4.Location = new System.Drawing.Point(3, 364); + label4.Location = new System.Drawing.Point(3, 272); label4.Name = "label4"; - label4.Size = new System.Drawing.Size(74, 38); + label4.Size = new System.Drawing.Size(64, 28); label4.TabIndex = 6; label4.Text = "Color:"; label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -179,9 +176,9 @@ // label5.AutoSize = true; label5.Dock = System.Windows.Forms.DockStyle.Fill; - label5.Location = new System.Drawing.Point(3, 402); + label5.Location = new System.Drawing.Point(3, 300); label5.Name = "label5"; - label5.Size = new System.Drawing.Size(74, 38); + label5.Size = new System.Drawing.Size(64, 28); label5.TabIndex = 7; label5.Text = "Mileage:"; label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -190,9 +187,9 @@ // label6.AutoSize = true; label6.Dock = System.Windows.Forms.DockStyle.Fill; - label6.Location = new System.Drawing.Point(3, 440); + label6.Location = new System.Drawing.Point(3, 328); label6.Name = "label6"; - label6.Size = new System.Drawing.Size(74, 38); + label6.Size = new System.Drawing.Size(64, 28); label6.TabIndex = 8; label6.Text = "Price:"; label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; @@ -205,19 +202,17 @@ flowLayoutPanel1.Controls.Add(lblID); flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; - flowLayoutPanel1.Location = new System.Drawing.Point(3, 482); - flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + flowLayoutPanel1.Location = new System.Drawing.Point(3, 359); flowLayoutPanel1.Name = "flowLayoutPanel1"; - flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(5, 6, 5, 6); - flowLayoutPanel1.Size = new System.Drawing.Size(530, 76); + flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(4); + flowLayoutPanel1.Size = new System.Drawing.Size(463, 60); flowLayoutPanel1.TabIndex = 9; // // btnSave // - btnSave.Location = new System.Drawing.Point(442, 10); - btnSave.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + btnSave.Location = new System.Drawing.Point(386, 7); btnSave.Name = "btnSave"; - btnSave.Size = new System.Drawing.Size(75, 29); + btnSave.Size = new System.Drawing.Size(66, 22); btnSave.TabIndex = 7; btnSave.Text = "Save"; btnSave.UseVisualStyleBackColor = true; @@ -225,10 +220,9 @@ // // btnDelete // - btnDelete.Location = new System.Drawing.Point(361, 10); - btnDelete.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + btnDelete.Location = new System.Drawing.Point(314, 7); btnDelete.Name = "btnDelete"; - btnDelete.Size = new System.Drawing.Size(75, 29); + btnDelete.Size = new System.Drawing.Size(66, 22); btnDelete.TabIndex = 8; btnDelete.Text = "Delete"; btnDelete.UseVisualStyleBackColor = true; @@ -237,30 +231,28 @@ // lblID // lblID.AutoSize = true; - lblID.Location = new System.Drawing.Point(331, 6); + lblID.Location = new System.Drawing.Point(290, 4); lblID.Name = "lblID"; - lblID.Size = new System.Drawing.Size(24, 20); + lblID.Size = new System.Drawing.Size(18, 15); lblID.TabIndex = 2; lblID.Text = "ID"; // // tbxColor // tbxColor.Dock = System.Windows.Forms.DockStyle.Fill; - tbxColor.Location = new System.Drawing.Point(83, 368); - tbxColor.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + tbxColor.Location = new System.Drawing.Point(73, 275); tbxColor.Name = "tbxColor"; - tbxColor.Size = new System.Drawing.Size(450, 27); + tbxColor.Size = new System.Drawing.Size(393, 23); tbxColor.TabIndex = 4; tbxColor.TextChanged += tbxColor_TextChanged; tbxColor.Leave += tbxColor_Leave; // // nudMileage // - nudMileage.Location = new System.Drawing.Point(83, 406); - nudMileage.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + nudMileage.Location = new System.Drawing.Point(73, 303); nudMileage.Maximum = new decimal(new int[] { 999999, 0, 0, 0 }); nudMileage.Name = "nudMileage"; - nudMileage.Size = new System.Drawing.Size(120, 27); + nudMileage.Size = new System.Drawing.Size(105, 23); nudMileage.TabIndex = 5; nudMileage.ThousandsSeparator = true; nudMileage.ValueChanged += nudMileage_ValueChanged; @@ -268,11 +260,10 @@ // nudPrice // nudPrice.DecimalPlaces = 2; - nudPrice.Location = new System.Drawing.Point(83, 444); - nudPrice.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + nudPrice.Location = new System.Drawing.Point(73, 331); nudPrice.Maximum = new decimal(new int[] { 999999, 0, 0, 0 }); nudPrice.Name = "nudPrice"; - nudPrice.Size = new System.Drawing.Size(120, 27); + nudPrice.Size = new System.Drawing.Size(105, 23); nudPrice.TabIndex = 6; nudPrice.ThousandsSeparator = true; nudPrice.ValueChanged += nudPrice_ValueChanged; @@ -287,21 +278,19 @@ tableLayoutPanel2.Controls.Add(lblAge, 1, 0); tableLayoutPanel2.Controls.Add(tbxAge, 2, 0); tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; - tableLayoutPanel2.Location = new System.Drawing.Point(83, 330); - tableLayoutPanel2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + tableLayoutPanel2.Location = new System.Drawing.Point(73, 247); tableLayoutPanel2.Name = "tableLayoutPanel2"; tableLayoutPanel2.RowCount = 1; tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - tableLayoutPanel2.Size = new System.Drawing.Size(450, 30); + tableLayoutPanel2.Size = new System.Drawing.Size(393, 22); tableLayoutPanel2.TabIndex = 10; // // nudYear // - nudYear.Location = new System.Drawing.Point(3, 4); - nudYear.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + nudYear.Location = new System.Drawing.Point(3, 3); nudYear.Maximum = new decimal(new int[] { 3000, 0, 0, 0 }); nudYear.Name = "nudYear"; - nudYear.Size = new System.Drawing.Size(120, 27); + nudYear.Size = new System.Drawing.Size(105, 23); nudYear.TabIndex = 3; nudYear.ValueChanged += nudYear_ValueChanged; // @@ -309,10 +298,10 @@ // lblAge.AutoSize = true; lblAge.Dock = System.Windows.Forms.DockStyle.Fill; - lblAge.Location = new System.Drawing.Point(153, 0); + lblAge.Location = new System.Drawing.Point(134, 0); lblAge.Name = "lblAge"; lblAge.RightToLeft = System.Windows.Forms.RightToLeft.No; - lblAge.Size = new System.Drawing.Size(144, 30); + lblAge.Size = new System.Drawing.Size(125, 22); lblAge.TabIndex = 4; lblAge.Text = "Age"; lblAge.TextAlign = System.Drawing.ContentAlignment.MiddleRight; @@ -321,21 +310,19 @@ // tbxAge.Dock = System.Windows.Forms.DockStyle.Fill; tbxAge.Enabled = false; - tbxAge.Location = new System.Drawing.Point(303, 4); - tbxAge.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + tbxAge.Location = new System.Drawing.Point(265, 3); tbxAge.Name = "tbxAge"; tbxAge.ReadOnly = true; - tbxAge.Size = new System.Drawing.Size(144, 27); + tbxAge.Size = new System.Drawing.Size(125, 23); tbxAge.TabIndex = 5; // // CarDetailsForm // - AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F); + AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - ClientSize = new System.Drawing.Size(536, 562); + ClientSize = new System.Drawing.Size(469, 422); Controls.Add(tableLayoutPanel1); FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); MaximizeBox = false; Name = "CarDetailsForm"; Text = "Details"; diff --git a/CarManagerV3/Forms/MainForm.cs b/CarManagerV3/Forms/MainForm.cs index 5bb88b4..c5cfd85 100644 --- a/CarManagerV3/Forms/MainForm.cs +++ b/CarManagerV3/Forms/MainForm.cs @@ -13,13 +13,18 @@ namespace CarManagerV3 List cars = new List(); string filepath = ""; - public MainForm() + public MainForm(string pathToOpen = "") { InitializeComponent(); // Open the most recent file if it exists. Otherwise, use default filepath. List recentFiles = SafeManager.GetRecentPaths(); - if (recentFiles.Count > 0) + if (!String.IsNullOrEmpty(pathToOpen)) + { + filepath = pathToOpen; + SafeManager.AddRecentPath(filepath); + } + else if (recentFiles.Count > 0) { filepath = recentFiles[0]; } diff --git a/CarManagerV3/Program.cs b/CarManagerV3/Program.cs index e307452..5e4f867 100644 --- a/CarManagerV3/Program.cs +++ b/CarManagerV3/Program.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using System.Windows.Forms; namespace CarManagerV3 @@ -9,11 +10,13 @@ namespace CarManagerV3 /// The main entry point for the application. /// [STAThread] - static void Main() + static void Main(string[] args) { + string pathToOpen = null; + if (args.Length > 0) pathToOpen = args[0]; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new MainForm()); + Application.Run(new MainForm(pathToOpen)); } } } diff --git a/CarManagerV3/Properties/launchSettings.json b/CarManagerV3/Properties/launchSettings.json new file mode 100644 index 0000000..dde70ab --- /dev/null +++ b/CarManagerV3/Properties/launchSettings.json @@ -0,0 +1,7 @@ +{ + "profiles": { + "CarManagerV3": { + "commandName": "Project" + } + } +} \ No newline at end of file