减去形式/s的一半是什么意思?

本文关键字:一半 是什么 意思 | 更新日期: 2023-09-27 18:09:38

我在我的新表单中有这个构造函数:

public MagnifierForm(Point MousePosition)
        {
            _doMove = true;
            FormBorderStyle = FormBorderStyle.None;
            ShowInTaskbar = false;
            TopMost = true;
            Width = 150;
            Height = 150;
            GraphicsPath gp = new GraphicsPath();
            gp.AddEllipse(ClientRectangle);
            Region = new Region(gp);
            mTimer = new Timer();
            mTimer.Enabled = true;
            mTimer.Interval = 20;
            mTimer.Tick += new EventHandler(HandleTimer);
            mScreenImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
                                     Screen.PrimaryScreen.Bounds.Height);
            //maybe subtract half of the forms width/height from the points (offset them)
            mStartPoint = MousePosition;
            mTargetPoint = MousePosition;
            speed = 0.35F;
        }
在构造函数的底部,我添加了以下代码:
mStartPoint = MousePosition;
mTargetPoint = MousePosition;

在Form1中,我有这个代码:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (keyData == (Keys.Control | Keys.M))
            {
                if (mf == null)
                {
                    mf = new Magnifier20070401.MagnifierForm(System.Windows.Forms.Cursor.Position);
                    mf.StartPosition = FormStartPosition.Manual;
                    mf.Location = Control.MousePosition;
                    mf.Show();
                    this.Select();
                }
                else if (mf.IsDisposed)
                {
                    mf = new Magnifier20070401.MagnifierForm(System.Windows.Forms.Cursor.Position);
                    mf.StartPosition = FormStartPosition.Manual;
                    mf.Location = Control.MousePosition;
                    mf.Show();
                }
                else
                {
                    mf.Close();
                    mf = null;
                }
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

一切正常。这个mStartPoint设置的位置/位置的形式也工作得很好。

但是这个句子是什么意思呢?//也许从这些点减去一半的宽度/高度(偏移它们)

这个句子与:mStartPoint和mTargetPoint有关

谁能给我一个例子,如果我想使用这个句子,它应该看起来像什么?

减去形式/s的一半是什么意思?

我假设这个线程本来在这里。

上一行之后:

mScreenImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
                                     Screen.PrimaryScreen.Bounds.Height);

我认为作者是说你应该计算捕获的表单的一部分,在开始时通过除以表单的宽度和高度,以知道哪一部分要显示。如果您的代码是正确的,我假设您正在某个地方计算需要显示的表单部分以及不同放大倍数的不同大小。