0

こんにちは、私はこのコードを持っています:

private Label newLabel = new Label();
Int32         mouseX;
Int32         mouseY;

private void form_MouseMove(object sender, MouseEventArgs e)
{
    mouseY = Cursor.Position.Y;
    mouseX = Cursor.Position.X;
}

private void button1_Click(object sender, EventArgs e)
{
    int txt = Int32.Parse(textBox1.Text);

    for (int i = 0; i < txt; i++)
    {
        newLabel = new Label();
        newLabel.Location = new Point(mouseY, mouseX);
        newLabel.Size = new System.Drawing.Size(25, 25);
        newLabel.Text = i.ToString();
        newLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
        newLabel.ForeColor = Color.Red;
        newLabel.Font = new Font(newLabel.Font.FontFamily.Name, 10);
        newLabel.Font = new Font(newLabel.Font, FontStyle.Bold);
        newLabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
        newLabel.MouseMove += new MouseEventHandler(this.MyControl_MouseMove);
        newLabel.MouseDown += new MouseEventHandler(this.MyControl_MouseDown);
        this.Controls.Add(newLabel);
    }
}

そして、マウスの位置に応じてラベルを作成するようにしていますが、ディスプレイ全体の位置で作成しているようです。form mouse move座標を割り当てると、フォーム内の座標が取得されると思いました。誰かがこれを解決するのを手伝ってくれますか?

4

2 に答える 2