我一个Button添加了下面几个事件public void button_MouseDown(object sender, MouseEventArgs e)
{
mouseDown = true;
}private void button_MouseMove(object sender, MouseEventArgs e)
{
if (mouseDown)
{
panel.DoDragDrop((Panel)(((Button)sender).Parent), DragDropEffects.Move);
}
mouseDown = false;
}private void button_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
}
private void button_Click(object sender, EventArgs e)
{
txb = (TextBox)((Button)sender).Tag;
Form2 fm = new Form2(txb);
fm.ShowDialog();
}是不是DoDragDrop、mousedown、mouseup这几个事件有冲突啊?我一开始运行时点击button没问题(可以弹出窗口)
可是拖动按钮后Click事件就失效了。怎么解决?
{
mouseDown = true;
}private void button_MouseMove(object sender, MouseEventArgs e)
{
if (mouseDown)
{
panel.DoDragDrop((Panel)(((Button)sender).Parent), DragDropEffects.Move);
}
mouseDown = false;
}private void button_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
}
private void button_Click(object sender, EventArgs e)
{
txb = (TextBox)((Button)sender).Tag;
Form2 fm = new Form2(txb);
fm.ShowDialog();
}是不是DoDragDrop、mousedown、mouseup这几个事件有冲突啊?我一开始运行时点击button没问题(可以弹出窗口)
可是拖动按钮后Click事件就失效了。怎么解决?
解决方案 »
- 为什么使用了BackgroundWorker,窗体还是处于假死状态,赐教
- 编写简单ocx控件Guid报错
- winfrom动态创建CheckBox
- 读取出来的和写进文件的数据不同
- 如何在C#中实现对firebird数据库的备份,有一个gbak命令,怎么联系起来呢
- 高手求救,在C#中怎么实现Java中request.getInputStream()获取输入流的功能?
- 如何随机动态的从DataTable中抽取n(1<n<total)条记录?
- 请教正则表达式的写法。
- 请问VS.NET 7张光盘,如何安装呢,我想安装C#怎么办,我的操作系统是WIN98,行吗
- 怎样将二进制对象加入到数据库(SQL Server)
- 懂CLR的进!!!!!!!!!
- c# 实现photoshop 抠图功能,分离人物和背景
{
mouseDown = true;
button = (Button)sender;
}private void button_MouseMove(object sender, MouseEventArgs e)
{
if (mouseDown)
{
panel.DoDragDrop((Panel)(((Button)sender).Parent), DragDropEffects.Move);
}
mouseDown = false;
}private void button_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
button.MouseMove += new System.Windows.Forms.MouseEventHandle (this.button_MouseMove);
} private void DragDrop(object sender, DragEventArgs e)
{
endflp.Controls.Add((Panel)e.Data.GetData("System.Windows.Forms.Panel"));
button.MouseMove -= new System.Windows.Forms.MouseEventHandler(this.button_MouseMove);
}
这样做好不好?好像有时可以有时有不行
{
if (mouseDown)
{
panel.DoDragDrop((Panel)(((Button)sender).Parent), DragDropEffects.Move);
}
mouseDown = false;
}这里的mouseDown = false;出问题了
方法2:事实上不用搞得那么复杂, 拖动时不需要控件随着动,画一个移动的方框就行了,mouse释放时,把buttone移走就行了。
方法3:还有一种方法,就是利用drawdrop 属性,这个你需要查下资料。