如何将按钮从一个面板拖放到另一个面板?
我有一个表格中的5个面板和两个不同面板中的两个按钮,现在要求将按钮从一个面板移动到另一个面板。
请给我一个代码。
为了演示,将两个面板放在一个窗体上的一个窗体和一个按钮上:
public Form1() { InitializeComponent(); panel1.AllowDrop = true; panel2.AllowDrop = true; panel1.DragEnter += panel_DragEnter; panel2.DragEnter += panel_DragEnter; panel1.DragDrop += panel_DragDrop; panel2.DragDrop += panel_DragDrop; button1.MouseDown += button1_MouseDown; } void button1_MouseDown(object sender, MouseEventArgs e) { button1.DoDragDrop(button1, DragDropEffects.Move); } void panel_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Move; } void panel_DragDrop(object sender, DragEventArgs e) { ((Button)e.Data.GetData(typeof(Button))).Parent = (Panel)sender; }
此方法也适用于Group Box,但必须手动添加MouseEnter,MouseLeave和MouseUp事件:
上述就是C#学习教程:如何将按钮从一个面板拖放到另一个面板?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)
public frmMain ( ) { InitializeComponent ( ); pbxMoveIt.BringToFront ( ); gbx1.AllowDrop = true; gbx2.AllowDrop = true; lblStatus.Text = "GUI Status: Started"; gbx1.MouseEnter += gbx_MouseEnter; gbx1.MouseLeave += gbx_MouseLeave; gbx1.MouseUp += gbx_MouseUp; gbx2.MouseEnter += gbx_MouseEnter; gbx2.MouseLeave += gbx_MouseLeave; gbx2.MouseUp += gbx_MouseUp; } private void gbx_MouseEnter ( object sender, EventArgs e ) { // useful code // ... } private void gbx_MouseLeave ( object sender, EventArgs e ) { // useful code // ... } private void gbx_MouseUp ( object sender, EventArgs e ) { // useful code // ... }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/942534.html