C# 中的拖放按钮文本 (WinForm)



我的目标是拥有多个按钮,通过将文本从一个按钮拖动到另一个按钮,可以在屏幕上切换其文本(没有必要切换按钮本身,只需切换上面的文本,尽管如果切换按钮本身更容易,那很好(。我试图遵循这篇 MSDN 文章,但一旦我真正开始拖动,我就会得到一个"no"符号(一个带有/的 O(。我错过了什么吗?(下面的代码(

提前感谢!

public partial class Form1 : Form
{
    Button button1 = new Button();
    Button button2 = new Button();
    public Form1()
    {
        InitializeComponent();
        button1.Text = "Button 1";
        button2.Text = "Button 2";
        button2.Location = new Point(100, 0);
        this.Controls.Add(button1);
        this.Controls.Add(button2);
        button1.MouseDown += new MouseEventHandler(button_MouseDown);
        button2.MouseDown += new MouseEventHandler(button_MouseDown);
        button1.DragEnter += new DragEventHandler(button_DragEnter);
        button2.DragEnter += new DragEventHandler(button_DragEnter);
        button1.DragDrop += new DragEventHandler(button_DragDrop);
    }
    private void button_MouseDown(object sender, MouseEventArgs e)
    {
        ((Button)sender).DoDragDrop(((Button)sender).Text, DragDropEffects.Move);
    }
    private void button_DragEnter(object sender, DragEventArgs e)
    {
        e.Effect = DragDropEffects.Move;
    }
    private void button_DragDrop(object sender, DragEventArgs e)
    {
        //I'm not sure what goes here, but I can figure that out through experimentation
    }
}

所以事实证明,我只需要做更多的研究。为两个按钮添加button.AllowDrop = true解决了问题

最新更新