【问题标题】:how can i drag a label to a picturebox?如何将标签拖到图片框?
【发布时间】:2013-12-24 09:13:00
【问题描述】:

我想将label2拖到pictureBox1中,但是没有用,我不知道是什么问题

    private void pictureBox1_DragDrop(object sender, DragEventArgs e)
    {
          pictureBox1.AllowDrop = true;

        if (CurrentDrag.Equals("clock1"))
        {
            Label pnlDroggedTheme = (Label)sender;
            pnlDroggedTheme.Height = pictureBox1.Height;
            pnlDroggedTheme.Width = pictureBox1.Width;


            label2.Visible = false;
            correct++;
            label1.Text = correct.ToString();
            MessageBox.Show(" cerrect answer");

        }
        else
            wronge++;
            label1.Text = wronge.ToString();
            MessageBox.Show("wronge answer");
    }

这是pictureBox1的DragEnter方法

    private void pictureBox1_DragEnter(object sender, DragEventArgs e)
    {

如果删除元素的数据来自类型字符串(即标签),则此处应复制数据

        if (e.Data.GetDataPresent(typeof(System.String)))
        {

            e.Effect = DragDropEffects.Copy; 
         }
        else
        {
            e.Effect = DragDropEffects.None;
        } 
    }

标签拖动效果很好,但我不能把它放到图片框中

    private void label2_MouseDown(object sender, MouseEventArgs e)
    {

        CurrentDrag = "clock1";
        Label labelV = (Label)sender;
        labelV .DoDragDrop(labelV .BackColor, DragDropEffects.Copy);
    }

【问题讨论】:

    标签: c# visual-studio-2008 drag-and-drop label picturebox


    【解决方案1】:

    您正在执行拖放事件检查数据类型是否为System.String,如果不是,则不执行任何操作,但您正在为System.Color 执行拖放操作。我想你想做什么

    Label labelV = (Label)sender;
    labelV .DoDragDrop(labelV.Text, DragDropEffects.Copy);
    

    您应该这样做或修改您的拖放事件以接受System.Color。

    此外,您应该将 pictureBox1.AllowDrop = true; 移动到构造函数或 Form_Load 或在设计时将属性设置为 true。

    【讨论】:

    • 但问题是放置部分不起作用,可能是“pictureBox1_DragEnter”方法有问题
    • @ELF NO.问题是拖放事件无法识别您正在拖放的内容,因此会执行 e.Effect = DragDropEffects.None;。并且无论您的拖动输入是什么,都不会执行。
    • 是的,对不起,您对类型的看法是正确的,但仍然无法删除。
    猜你喜欢
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 2016-09-15
    • 2010-11-07
    相关资源
    最近更新 更多