diff --git a/Flags.csproj b/Flags.csproj
new file mode 100644
index 0000000..663fdb8
--- /dev/null
+++ b/Flags.csproj
@@ -0,0 +1,11 @@
+
+
+
+ WinExe
+ net8.0-windows
+ enable
+ true
+ enable
+
+
+
\ No newline at end of file
diff --git a/Flags.sln b/Flags.sln
new file mode 100644
index 0000000..bab64bd
--- /dev/null
+++ b/Flags.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.14.36414.22
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Flags", "Flags.csproj", "{1DF46FB3-0CBE-40F5-AB6E-FEC6E99ECEE7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1DF46FB3-0CBE-40F5-AB6E-FEC6E99ECEE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1DF46FB3-0CBE-40F5-AB6E-FEC6E99ECEE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1DF46FB3-0CBE-40F5-AB6E-FEC6E99ECEE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1DF46FB3-0CBE-40F5-AB6E-FEC6E99ECEE7}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {D141A766-B06F-42F4-B8F6-D20C6E85ED5B}
+ EndGlobalSection
+EndGlobal
diff --git a/Form1.Designer.cs b/Form1.Designer.cs
new file mode 100644
index 0000000..02b2569
--- /dev/null
+++ b/Form1.Designer.cs
@@ -0,0 +1,111 @@
+namespace Graphics
+{
+ 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()
+ {
+ btn_finland = new Button();
+ btn_sverige = new Button();
+ btn_danmark = new Button();
+ label1 = new Label();
+ numericUpDown1 = new NumericUpDown();
+ ((System.ComponentModel.ISupportInitialize)numericUpDown1).BeginInit();
+ SuspendLayout();
+ //
+ // btn_finland
+ //
+ btn_finland.Location = new Point(26, 26);
+ btn_finland.Name = "btn_finland";
+ btn_finland.Size = new Size(112, 34);
+ btn_finland.TabIndex = 0;
+ btn_finland.Text = "Finland";
+ btn_finland.UseVisualStyleBackColor = true;
+ btn_finland.Click += btn_finland_Click;
+ //
+ // btn_sverige
+ //
+ btn_sverige.Location = new Point(262, 26);
+ btn_sverige.Name = "btn_sverige";
+ btn_sverige.Size = new Size(112, 34);
+ btn_sverige.TabIndex = 1;
+ btn_sverige.Text = "Sverige";
+ btn_sverige.UseVisualStyleBackColor = true;
+ btn_sverige.Click += btn_sverige_Click;
+ //
+ // btn_danmark
+ //
+ btn_danmark.Location = new Point(144, 26);
+ btn_danmark.Name = "btn_danmark";
+ btn_danmark.Size = new Size(112, 34);
+ btn_danmark.TabIndex = 2;
+ btn_danmark.Text = "Danmark";
+ btn_danmark.UseVisualStyleBackColor = true;
+ btn_danmark.Click += btn_danmark_Click;
+ //
+ // label1
+ //
+ label1.AutoSize = true;
+ label1.Location = new Point(400, 31);
+ label1.Name = "label1";
+ label1.Size = new Size(70, 25);
+ label1.TabIndex = 3;
+ label1.Text = "Storlek:";
+ //
+ // numericUpDown1
+ //
+ numericUpDown1.Location = new Point(476, 29);
+ numericUpDown1.Name = "numericUpDown1";
+ numericUpDown1.Size = new Size(180, 31);
+ numericUpDown1.TabIndex = 5;
+ numericUpDown1.ValueChanged += numericUpDown1_ValueChanged;
+ //
+ // Form1
+ //
+ AutoScaleDimensions = new SizeF(10F, 25F);
+ AutoScaleMode = AutoScaleMode.Font;
+ ClientSize = new Size(793, 454);
+ Controls.Add(numericUpDown1);
+ Controls.Add(label1);
+ Controls.Add(btn_danmark);
+ Controls.Add(btn_sverige);
+ Controls.Add(btn_finland);
+ Name = "Form1";
+ Text = "Flaggor";
+ ((System.ComponentModel.ISupportInitialize)numericUpDown1).EndInit();
+ ResumeLayout(false);
+ PerformLayout();
+ }
+
+ #endregion
+
+ private Button btn_finland;
+ private Button btn_sverige;
+ private Button btn_danmark;
+ private Label label1;
+ private NumericUpDown numericUpDown1;
+ }
+}
diff --git a/Form1.cs b/Form1.cs
new file mode 100644
index 0000000..7041fed
--- /dev/null
+++ b/Form1.cs
@@ -0,0 +1,87 @@
+using System;
+using System.Diagnostics;
+using System.Drawing;
+using System.Linq.Expressions;
+
+namespace Graphics
+{
+ public partial class Form1 : Form
+ {
+ Color background = Color.FromArgb(0, 39, 104);
+ Color stripes = Color.FromArgb(250, 204, 8);
+
+ float size = 20;
+ int startX = 100;
+ int startY = 100;
+
+ public Form1()
+ {
+ InitializeComponent();
+ numericUpDown1.Value = (decimal)size; // init size
+ }
+
+ protected override void OnPaint(PaintEventArgs e)
+ {
+ base.OnPaint(e);
+ var g = e.Graphics;
+
+ SolidBrush solidBrush = new SolidBrush(background);
+
+ // background
+ g.FillRectangle(
+ solidBrush,
+ startX,
+ startY,
+ 16 * size, // x size
+ 10 * size // y size
+ );
+
+ solidBrush.Color = stripes;
+
+ // horizontal stripe
+ g.FillRectangle(
+ solidBrush,
+ startX,
+ startY + 4 * size, // y offset
+ 16 * size, // x size
+ 2 * size // y size
+ );
+
+ // vertical stripe
+ g.FillRectangle(
+ solidBrush,
+ startX + 5 * size, // x offset
+ startY,
+ 2 * size, // x size
+ 10 * size // y size
+ );
+ }
+
+ private void btn_sverige_Click(object sender, EventArgs e)
+ {
+ background = Color.FromArgb(0, 39, 104);
+ stripes = Color.FromArgb(250, 204, 8);
+ Invalidate();
+ }
+
+ private void btn_danmark_Click(object sender, EventArgs e)
+ {
+ background = Color.FromArgb(198, 12, 48);
+ stripes = Color.FromArgb(255, 255, 255);
+ Invalidate();
+ }
+
+ private void btn_finland_Click(object sender, EventArgs e)
+ {
+ background = Color.FromArgb(255, 255, 255);
+ stripes = Color.FromArgb(0, 53, 128);
+ Invalidate();
+ }
+
+ private void numericUpDown1_ValueChanged(object sender, EventArgs e)
+ {
+ size = ((float)numericUpDown1.Value);
+ Invalidate();
+ }
+ }
+}
diff --git a/Form1.resx b/Form1.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/Program.cs b/Program.cs
new file mode 100644
index 0000000..d9de435
--- /dev/null
+++ b/Program.cs
@@ -0,0 +1,17 @@
+namespace Graphics
+{
+ internal static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ // To customize application configuration such as set high DPI settings or default font,
+ // see https://aka.ms/applicationconfiguration.
+ ApplicationConfiguration.Initialize();
+ Application.Run(new Form1());
+ }
+ }
+}
\ No newline at end of file