From 65deb2f082ffe718001ecb0e5a1cbe52d82328f5 Mon Sep 17 00:00:00 2001 From: boris Date: Fri, 2 Feb 2024 11:18:21 +0000 Subject: [PATCH] workshop 2 upload --- workshop2/App.config | 6 + workshop2/Form1.Designer.cs | 138 +++++++++++++ workshop2/Form1.cs | 53 +++++ workshop2/Form1.resx | 225 +++++++++++++++++++++ workshop2/Program.cs | 22 ++ workshop2/Properties/AssemblyInfo.cs | 36 ++++ workshop2/Properties/Resources.Designer.cs | 71 +++++++ workshop2/Properties/Resources.resx | 117 +++++++++++ workshop2/Properties/Settings.Designer.cs | 30 +++ workshop2/Properties/Settings.settings | 7 + workshop2/workshop2.csproj | 83 ++++++++ workshop2/workshop2.sln | 25 +++ 12 files changed, 813 insertions(+) create mode 100644 workshop2/App.config create mode 100644 workshop2/Form1.Designer.cs create mode 100644 workshop2/Form1.cs create mode 100644 workshop2/Form1.resx create mode 100644 workshop2/Program.cs create mode 100644 workshop2/Properties/AssemblyInfo.cs create mode 100644 workshop2/Properties/Resources.Designer.cs create mode 100644 workshop2/Properties/Resources.resx create mode 100644 workshop2/Properties/Settings.Designer.cs create mode 100644 workshop2/Properties/Settings.settings create mode 100644 workshop2/workshop2.csproj create mode 100644 workshop2/workshop2.sln diff --git a/workshop2/App.config b/workshop2/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/workshop2/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/workshop2/Form1.Designer.cs b/workshop2/Form1.Designer.cs new file mode 100644 index 0000000..411d0fe --- /dev/null +++ b/workshop2/Form1.Designer.cs @@ -0,0 +1,138 @@ +using System.Windows.Forms; + +namespace workshop2 +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.button3 = new System.Windows.Forms.Button(); + this.button4 = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(12, 12); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(300, 300); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(328, 24); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(100, 40); + this.button1.TabIndex = 1; + this.button1.Text = "Select Image"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.openFileButton_Click); + // + // button2 + // + this.button2.Location = new System.Drawing.Point(328, 86); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(100, 40); + this.button2.TabIndex = 2; + this.button2.Text = "Quit"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.quitButton_Click); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // button3 + // + this.button3.Location = new System.Drawing.Point(328, 162); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(40, 40); + this.button3.TabIndex = 3; + this.button3.Text = "Left"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.rotateLeft_Click); + // + // button4 + // + this.button4.Location = new System.Drawing.Point(388, 162); + this.button4.Name = "button4"; + this.button4.Size = new System.Drawing.Size(40, 40); + this.button4.TabIndex = 4; + this.button4.Text = "Right"; + this.button4.UseVisualStyleBackColor = true; + this.button4.Click += new System.EventHandler(this.rotateRight_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(357, 146); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(39, 13); + this.label1.TabIndex = 5; + this.label1.Text = "Rotate"; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(449, 322); + this.Controls.Add(this.label1); + this.Controls.Add(this.button4); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.pictureBox1); + this.Name = "Form1"; + this.Text = "Form1"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + private Button button1; + private Button button2; + private OpenFileDialog openFileDialog1; + private Button button3; + private Button button4; + private Label label1; + } +} + diff --git a/workshop2/Form1.cs b/workshop2/Form1.cs new file mode 100644 index 0000000..0907d00 --- /dev/null +++ b/workshop2/Form1.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace workshop2 +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + private void pictureBox1_Click(object sender, EventArgs e) + { + + } + + private void openFileButton_Click(object sender, EventArgs e) + { + openFileDialog1.ShowDialog(); + pictureBox1.Load(openFileDialog1.FileName); + } + + private void quitButton_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void rotateLeft_Click(object sender, EventArgs e) + { + Bitmap image = new Bitmap(pictureBox1.Image); + image.RotateFlip(RotateFlipType.Rotate270FlipNone); + pictureBox1.Image = image; + pictureBox1.Refresh(); + } + + private void rotateRight_Click(object sender, EventArgs e) + { + + Bitmap image = new Bitmap(pictureBox1.Image); + image.RotateFlip(RotateFlipType.Rotate90FlipNone); + pictureBox1.Image = image; + pictureBox1.Refresh(); + } + } +} diff --git a/workshop2/Form1.resx b/workshop2/Form1.resx new file mode 100644 index 0000000..2e16fb6 --- /dev/null +++ b/workshop2/Form1.resx @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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 + 2SUJ0/n/AEm6be/85JIUHJJJA//Z + + + + 17, 17 + + \ No newline at end of file diff --git a/workshop2/Program.cs b/workshop2/Program.cs new file mode 100644 index 0000000..46b7665 --- /dev/null +++ b/workshop2/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace workshop2 +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/workshop2/Properties/AssemblyInfo.cs b/workshop2/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9a6a0f7 --- /dev/null +++ b/workshop2/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("workshop2")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("workshop2")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a7959569-7125-46a3-9c1d-0c164f1b9f16")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/workshop2/Properties/Resources.Designer.cs b/workshop2/Properties/Resources.Designer.cs new file mode 100644 index 0000000..bc3584c --- /dev/null +++ b/workshop2/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace workshop2.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("workshop2.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/workshop2/Properties/Resources.resx b/workshop2/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/workshop2/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/workshop2/Properties/Settings.Designer.cs b/workshop2/Properties/Settings.Designer.cs new file mode 100644 index 0000000..124156c --- /dev/null +++ b/workshop2/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace workshop2.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/workshop2/Properties/Settings.settings b/workshop2/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/workshop2/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/workshop2/workshop2.csproj b/workshop2/workshop2.csproj new file mode 100644 index 0000000..8a2b2df --- /dev/null +++ b/workshop2/workshop2.csproj @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {A7959569-7125-46A3-9C1D-0C164F1B9F16} + WinExe + workshop2 + workshop2 + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/workshop2/workshop2.sln b/workshop2/workshop2.sln new file mode 100644 index 0000000..2fddad5 --- /dev/null +++ b/workshop2/workshop2.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34330.188 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "workshop2", "workshop2.csproj", "{A7959569-7125-46A3-9C1D-0C164F1B9F16}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A7959569-7125-46A3-9C1D-0C164F1B9F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A7959569-7125-46A3-9C1D-0C164F1B9F16}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A7959569-7125-46A3-9C1D-0C164F1B9F16}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A7959569-7125-46A3-9C1D-0C164F1B9F16}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {62594886-B98D-4C19-A56B-AC92F89CCBFF} + EndGlobalSection +EndGlobal