winforms 将项目从listBox1拖放到listBox2代码中不起作用(AllowDrop=true)

a8jjtwal  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(114)

尽管两个listBoxAllowDrop=truelistBox2都不允许我将listbox1中的项拖放到listBox2中。
VS 2022没有给予任何错误,警告或异常处理问题,问题是这个代码没有做它应该做的事情,它不让我携带1项从listBox1listBox2

namespace LISTBOX_fareileSURUKLEbirakDRAGDROP_Olaylari
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            listBox1.AllowDrop = true;
            listBox2.AllowDrop = true;

            int i;
            for(i = 0; i < 10; i++)
            {
                listBox1.Items.Add(i);
            }
        }

        private void listBox1_MouseDown(object sender, MouseEventArgs e)
        {
            if (listBox1.Items.Count == 0) return;

            string deger = listBox1.Items[listBox1.IndexFromPoint(e.X,e.Y)].ToString();

            if (DoDragDrop(deger, DragDropEffects.All) == DragDropEffects.All)
                listBox1.Items.RemoveAt(listBox1.IndexFromPoint(e.X, e.Y));
        }
        private void listBox2_DragOver(object sender,DragEventArgs e)
        {
            e.Effect= DragDropEffects.All;
        }
        private void listBox2_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.StringFormat))
                listBox2.Items.Add(e.Data.GetData(DataFormats.StringFormat));
        }
    }
}

用户界面:

你觉得问题出在哪里?

ldxq2e6h

ldxq2e6h1#

事件处理程序没有附加到我的列表框代码,这就是为什么发生了这个问题。
一锅端了我附上他们,问题就解决了。

相关问题