private void LoadColorDialog(Color color, int index) { if (dialogActive) { colorDlg.Focus(); return; } dialogActive = true; colorDlg = new STColorDialog(color); colorDlg.FormClosed += delegate { mouseLoc = Point.Empty; dialogActive = false; this.Invalidate(); }; colorDlg.Show(); colorDlg.ColorChanged += delegate { if (index == 0) { TopColor = colorDlg.NewColor; } if (index == 1) { BottomColor = colorDlg.NewColor; } }; }
private void LoadColorDialog(Color color, int index) { if (dialogActive) { colorDlg.Focus(); return; } dialogActive = true; colorDlg = new STColorDialog(color); colorDlg.FormClosed += delegate { dialogActive = false; }; colorDlg.Show(); colorDlg.ColorChanged += delegate { if (index == 0) { TopLeftColor = colorDlg.NewColor; } if (index == 1) { TopRightColor = colorDlg.NewColor; } if (index == 2) { BottomLeftColor = colorDlg.NewColor; } if (index == 3) { BottomRightColor = colorDlg.NewColor; } }; }
private void OnMouseClick(object sender, MouseEventArgs e) { if (TopLeftHit == null) { return; } if (e.Button == MouseButtons.Left) { if (TopLeftHit.IsHit(e.Location)) { LoadColorDialog(TopLeftColor, 0); } if (TopRightHit.IsHit(e.Location)) { LoadColorDialog(TopRightColor, 1); } if (BottomLefttHit.IsHit(e.Location)) { LoadColorDialog(BottomLeftColor, 2); } if (BottomRightHit.IsHit(e.Location)) { LoadColorDialog(BottomRightColor, 3); } if (AllHit.IsHit(e.Location)) { if (dialogActive) { colorDlg.Focus(); return; } dialogActive = true; colorDlg = new STColorDialog(AllColor); colorDlg.Show(); colorDlg.FormClosed += delegate { dialogActive = false; }; colorDlg.ColorChanged += delegate { //Update only once! SuppressChangeEvent = true; TopLeftColor = colorDlg.NewColor; TopRightColor = colorDlg.NewColor; BottomLeftColor = colorDlg.NewColor; BottomRightColor = colorDlg.NewColor; SuppressChangeEvent = false; ColorChanged(); }; } } this.Invalidate(); }
private void LoadColorDialogSides(Color color1, Color color2, int index) { if (dialogActive) { colorDlg.Focus(); return; } Color[] colors = new Color[2] { color1, color2 }; var color = Color.FromArgb( (int)colors.Average(a => a.A), (int)colors.Average(a => a.R), (int)colors.Average(a => a.G), (int)colors.Average(a => a.B)); dialogActive = true; colorDlg = new STColorDialog(color); colorDlg.FormClosed += delegate { mouseLoc = Point.Empty; dialogActive = false; this.Invalidate(); }; colorDlg.Show(); colorDlg.ColorChanged += delegate { if (index == 0) { TopRightColor = colorDlg.NewColor; TopLeftColor = colorDlg.NewColor; } if (index == 1) { BottomRightColor = colorDlg.NewColor; BottomLeftColor = colorDlg.NewColor; } if (index == 2) { TopRightColor = colorDlg.NewColor; BottomRightColor = colorDlg.NewColor; } if (index == 3) { TopLeftColor = colorDlg.NewColor; BottomLeftColor = colorDlg.NewColor; } }; }
private void imageBGComboBox_MouseClick(object sender, MouseEventArgs e) { if (dialogActive) { colorDlg.Focus(); return; } dialogActive = true; colorDlg = new STColorDialog(((PictureBox)sender).BackColor); colorDlg.AllowTransparency = false; colorDlg.FormClosed += delegate { dialogActive = false; }; colorDlg.ColorChanged += delegate { ((PictureBox)sender).BackColor = colorDlg.ColorRGB; Runtime.CustomPicureBoxBGColor = colorDlg.ColorRGB; UpdateBackgroundImage(); }; colorDlg.Show(); }