Beispiel #1
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);
            if (disposing)
            {
                if (btnAlpha != null)
                {
                    btnAlpha.Dispose();
                }

                if (dialogAlpha != null)
                {
                    dialogAlpha.Dispose();
                }

                btnAlpha    = null;
                dialogAlpha = null;
            }
        }
Beispiel #2
0
        void btnAlpha_Click(object sender, EventArgs e)
        {
            if (dialogAlpha == null)
            {
                dialogAlpha              = new AlphaDialog(this);
                panelAlpha               = new AlphaColorPanel();
                panelAlpha.AlphaChanged += panelAlpha_AlphaChanged;
                dialogAlpha.Controls.Add(panelAlpha);
                dialogAlpha.Text = "투명도";
                //dialogAlpha.StartPosition = FormStartPosition.CenterParent; // doesn't work
                dialogAlpha.StartPosition = FormStartPosition.Manual;
                dialogAlpha.ClientSize    = panelAlpha.PreferredSize;
                Size sz = dialogAlpha.Size;
                RECT r  = new RECT();
                GetWindowRect(handle, ref r);
                dialogAlpha.Location = new Point(r.Left + ((r.Right - r.Left) - sz.Width) / 2, r.Top + ((r.Bottom - r.Top) - sz.Height) / 2);
            }
            Color color = Color.FromArgb(alpha, _color);

            panelAlpha.Color = color;
            panelAlpha.SetAlpha(color.A);


            if (!dialogAlpha.IsHandleCreated || !dialogAlpha.Visible)
            {
                dialogAlpha.Visible = false;                 // sometimes IsHandleCreated is reset, so Visible must be reset
                dialogAlpha.Show(new SimpleWindow {
                    Handle = handle
                });
            }
            else
            {
                if (dialogAlpha.WindowState == FormWindowState.Minimized)
                {
                    dialogAlpha.WindowState = FormWindowState.Normal;
                }

                dialogAlpha.Activate();
                dialogAlpha.BringToFront();
                dialogAlpha.Focus();
            }
        }