From f334aa7ad1e9f3e316bcf9eef2ea586872bd9da7 Mon Sep 17 00:00:00 2001 From: maxluli Date: Wed, 8 Jun 2022 11:08:50 +0200 Subject: [PATCH] Sliders are now drag and drop --- Paint_2/ColorPicker.Designer.cs | 14 ++++++++++++-- Paint_2/ColorPicker.cs | 27 +++++++++++++++++++++++++-- Paint_2/ColorPicker.resx | 3 +++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/Paint_2/ColorPicker.Designer.cs b/Paint_2/ColorPicker.Designer.cs index 0db12e2..ad7a56b 100644 --- a/Paint_2/ColorPicker.Designer.cs +++ b/Paint_2/ColorPicker.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); this.pbxColor = new System.Windows.Forms.PictureBox(); this.pbxSelectedColor = new System.Windows.Forms.PictureBox(); this.nupRed = new System.Windows.Forms.NumericUpDown(); @@ -41,6 +42,7 @@ this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); + this.tmrRefresh = new System.Windows.Forms.Timer(this.components); ((System.ComponentModel.ISupportInitialize)(this.pbxColor)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pbxSelectedColor)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nupRed)).BeginInit(); @@ -160,7 +162,8 @@ this.pbxSliderRed.Size = new System.Drawing.Size(255, 30); this.pbxSliderRed.TabIndex = 21; this.pbxSliderRed.TabStop = false; - this.pbxSliderRed.Click += new System.EventHandler(this.pbxSliderRed_Click); + this.pbxSliderRed.MouseDown += new System.Windows.Forms.MouseEventHandler(this.SliderMouseDown); + this.pbxSliderRed.MouseUp += new System.Windows.Forms.MouseEventHandler(this.SliderMouseUp); // // pbxSliderSaturation // @@ -170,7 +173,8 @@ this.pbxSliderSaturation.Size = new System.Drawing.Size(30, 255); this.pbxSliderSaturation.TabIndex = 22; this.pbxSliderSaturation.TabStop = false; - this.pbxSliderSaturation.Click += new System.EventHandler(this.pbxSliderSaturation_Click); + this.pbxSliderSaturation.MouseDown += new System.Windows.Forms.MouseEventHandler(this.SliderMouseDown); + this.pbxSliderSaturation.MouseUp += new System.Windows.Forms.MouseEventHandler(this.SliderMouseUp); // // label1 // @@ -208,6 +212,11 @@ this.label4.TabIndex = 26; this.label4.Text = "A"; // + // tmrRefresh + // + this.tmrRefresh.Interval = 1; + this.tmrRefresh.Tick += new System.EventHandler(this.tmrRefresh_Tick); + // // ColorPicker // this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F); @@ -266,5 +275,6 @@ private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; + private System.Windows.Forms.Timer tmrRefresh; } } \ No newline at end of file diff --git a/Paint_2/ColorPicker.cs b/Paint_2/ColorPicker.cs index 7a15069..de58a0b 100644 --- a/Paint_2/ColorPicker.cs +++ b/Paint_2/ColorPicker.cs @@ -147,12 +147,19 @@ namespace Paint_2 } private void pbxSliderRed_Click(object sender, EventArgs e) { - SelectedColor = Color.FromArgb(SelectedColor.A,pbxSliderRed.PointToClient(MousePosition).X,SelectedColor.G,SelectedColor.B); + int mouseX = pbxSliderRed.PointToClient(MousePosition).X; + if (mouseX >= 0 && mouseX <= 255) + { + SelectedColor = Color.FromArgb(SelectedColor.A, mouseX, SelectedColor.G, SelectedColor.B); + } RefreshUi(); } private void pbxSliderSaturation_Click(object sender, EventArgs e) { - SelectedColor = Color.FromArgb(pbxSliderSaturation.PointToClient(MousePosition).Y, SelectedColor.R, SelectedColor.G, SelectedColor.B); + int mouseY = pbxSliderSaturation.PointToClient(MousePosition).Y; + if (mouseY >= 0 && mouseY <= 255) { + SelectedColor = Color.FromArgb(mouseY, SelectedColor.R, SelectedColor.G, SelectedColor.B); + } RefreshUi(); } public static Color HexToColor(string rgb) @@ -258,5 +265,21 @@ namespace Paint_2 { main.sketch.ChangePaintToolColor(SelectedColor); } + + private void tmrRefresh_Tick(object sender, EventArgs e) + { + pbxSliderSaturation_Click(sender, e); + pbxSliderRed_Click(sender,e); + } + + private void SliderMouseDown(object sender, MouseEventArgs e) + { + tmrRefresh.Enabled = true; + } + + private void SliderMouseUp(object sender, MouseEventArgs e) + { + tmrRefresh.Enabled = false; + } } } diff --git a/Paint_2/ColorPicker.resx b/Paint_2/ColorPicker.resx index 1af7de1..f1a0b40 100644 --- a/Paint_2/ColorPicker.resx +++ b/Paint_2/ColorPicker.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file