C#表单弹出位置

时间:2016-09-23 03:34:02

标签: c# forms popup location

我正在构建一个弹出窗口应用程序来显示一些通知。我想在任何屏幕分辨率的右侧底部的屏幕上显示它。屏幕尺寸为422 x 217(宽x高)。这是我的代码:

private void Form1_Load(object sender, EventArgs e)
    {
        /*System.Windows.Forms.Timer MyTimer = new System.Windows.Forms.Timer(); */

        int num = 1;
        this.Hide();
        if (num == 1)
        {
            Form fm = new Form
            {
                Location = new Point(50, 60),
                StartPosition = FormStartPosition.Manual,
                ShowInTaskbar = false
            };
            fm.ShowDialog();
        }
    }

我想让弹出窗口从底部开始。任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

我最近获得了一台烤面包机的代码'弹出窗口从任何屏幕的右下角出来。以下是我使用的代码隐藏的一部分:

Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new Action(() =>
            {
                var workingArea = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea;
                var transform = PresentationSource.FromVisual(this).CompositionTarget.TransformFromDevice;
                var corner = transform.Transform(new Point(workingArea.Right + 15, workingArea.Bottom - 10));

                this.Left = corner.X - this.ActualWidth - 100;
                this.Topmost = true;
                this.Top = corner.Y - this.ActualHeight;

            }));

根据您的弹出式'调整-100+15-10。尺寸。