C# 如何在图像框上添加标记?

C# 如何在图像框上添加标记?,c#,C#,当我单击“就位”时(您可以在附加的屏幕上看到),点会出现在另一个位置。如何解决这个问题 鼠标位置在屏幕坐标中。您需要将其转换为客户机坐标 public Form1() { InitializeComponent(); this.imgRoom.Click += new EventHandler(this.pictureBox1_Click); } private void pictureBox1_Click(object sender, EventArgs e) { v


当我单击“就位”时(您可以在附加的屏幕上看到),点会出现在另一个位置。如何解决这个问题

鼠标位置在屏幕坐标中。您需要将其转换为客户机坐标

public Form1()
{
    InitializeComponent();
    this.imgRoom.Click += new EventHandler(this.pictureBox1_Click);
}

private void pictureBox1_Click(object sender, EventArgs e)
{
    var label1 = new LabelControl();
    label1.Location = MousePosition;
    label1.BackColor = Color.Red;
    label1.Parent = imgRoom;
    label1.Text = "Point";
    imgRoom.Controls.Add(label1);
}

MousePosition
位于屏幕坐标中。您需要将其转换为客户机坐标

public Form1()
{
    InitializeComponent();
    this.imgRoom.Click += new EventHandler(this.pictureBox1_Click);
}

private void pictureBox1_Click(object sender, EventArgs e)
{
    var label1 = new LabelControl();
    label1.Location = MousePosition;
    label1.BackColor = Color.Red;
    label1.Parent = imgRoom;
    label1.Text = "Point";
    imgRoom.Controls.Add(label1);
}

看起来您必须选择相对于窗体的鼠标位置,而不是图片框。尝试使用pictureBox“mouseClick”事件,然后使用mouseEventArgs“e.Location”属性设置标签的Location属性


请参见-()

看起来您必须选择相对于窗体的鼠标位置,而不是图片框。尝试使用pictureBox“mouseClick”事件,然后使用mouseEventArgs“e.Location”属性设置标签的Location属性


请参见-()

太好了。非常感谢:)太好了。非常感谢:)