コード例 #1
0
        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;
                }
            };
        }
コード例 #2
0
        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;
                }
            };
        }
コード例 #3
0
        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();
        }
コード例 #4
0
        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;
                }
            };
        }
コード例 #5
0
        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();
        }