簡體   English   中英

如何將標簽拖到圖片框?

[英]how can i drag a label to a picturebox?

我想拖動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);
    }

您正在進行拖放事件檢查,如果數據類型是System.String ,如果不是,則不執行任何操作,但您正在為System.Color執行拖放操作。 我想你想做什么

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

您應該這樣做或修改拖放事件以接受System.Color

另外,你應該移動你的pictureBox1.AllowDrop = true; 到構造函數或Form_Load或在設計時將屬性設置為true。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM