我的目标是有多个按钮,通过将文本从一个按钮拖到另一个按钮,可以在屏幕上切换文本(按钮本身不需要切换,只有文本在它们上面,但是如果它自己更容易切换按钮,这很好。我试图跟随this MSDN article,但是当我真正开始拖动时,我得到一个" 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
}
}
答案 0 :(得分:0)
事实证明我只需要做更多的研究。为两个按钮添加button.AllowDrop = true
解决了问题