Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在windows窗体中使用c#将标签拖放到新位置并将该位置设置为标签的新位置_C#_Asp.net_.net_Forms_Winforms - Fatal编程技术网

如何在windows窗体中使用c#将标签拖放到新位置并将该位置设置为标签的新位置

如何在windows窗体中使用c#将标签拖放到新位置并将该位置设置为标签的新位置,c#,asp.net,.net,forms,winforms,C#,Asp.net,.net,Forms,Winforms,使用我的代码,我可以拖放到新位置,但当我关闭windows窗体时,该位置将再次重置为旧位置。我希望标签在拖放后处于新位置,即使我关闭窗体或停止调试(停止执行) 标签名称:label1 代码: 名称空间EINS_FloorMap { 应用于标签的Location属性。设置会自动更新和保存。--asp.net标记在此处的用法不清楚。--顺便说一句,您可以删除IsMouseDown,只需在MouseMove中检查e.Button==MouseButtons.Left,就像在MouseDown中一样。然

使用我的代码,我可以拖放到新位置,但当我关闭windows窗体时,该位置将再次重置为旧位置。我希望标签在拖放后处于新位置,即使我关闭窗体或停止调试(停止执行) 标签名称:label1

代码: 名称空间EINS_FloorMap {


应用于标签的
Location
属性。设置会自动更新和保存。--asp.net标记在此处的用法不清楚。--顺便说一句,您可以删除
IsMouseDown
,只需在MouseMove中检查
e.Button==MouseButtons.Left
,就像在MouseDown中一样。然后也删除MouseUp处理程序(这真的没用)。--给定事件处理程序的名称,您可能有多个处理程序,因此请检查。这是label1的Location属性:this.label1.Location=new System.Drawing.Point(13,97);使用我的代码,我可以拖放到新位置,但当我关闭windows窗体时,label1的位置将再次重置为旧位置。拖放后,我希望标签位于新位置,即使我关闭窗体或停止调试(停止执行)这就是为什么我建议采用那篇文章中所示的解决方案。这就是自动存储和恢复属性值的方法。请使用示例进行说明。整个过程在中进行了说明,并附有图片。
public partial class EINS_FloorMap : Form
{

     clsConnection_DAL objCore = new clsConnection_DAL(true, true);

     

     private System.Drawing.Point StartPoint;
     private bool IsMouseDown = false;

    public EINS_FloorMap()
    {
        InitializeComponent();
     }
    private void label1_MouseDown_1(object sender, 
                             System.Windows.Forms.MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            IsMouseDown = true;
            label1.BringToFront();
            StartPoint = e.Location;
        }
     }
    private void label1_MouseUp_1(object sender, System.Windows.Forms.MouseEventArgs e)
    {
        IsMouseDown = false;

        this.label1.Location = new System.Drawing.Point(
            this.label1.Location.X,this.label1.Location.Y
            );
    }
     private void label1_MouseMove_1(object sender, System.Windows.Forms.MouseEventArgs e)
    {
        if (IsMouseDown)
        {
            label1.Left = e.X + label1.Left - StartPoint.X;
            label1.Top = e.Y + label1.Top - StartPoint.Y;


        }
    }
  }
 }