沈阳智能模板建站购物网站模板html
沈阳智能模板建站,购物网站模板html,如何创建一个官网,和规划网站如何有一个MSDN客户提问在WinForm中如何实现拖拽效果——比如在WinForm中有一个Button#xff0c;我要实现的效果是拖拽这个Button到目标位置后生成一个该控件的副本。 其实这个操作主要分成三步走#xff1a; 1#xff09;确定被拖拽的对象#xff1a; 这里是Button#xff0…有一个MSDN客户提问在WinForm中如何实现拖拽效果——比如在WinForm中有一个Button我要实现的效果是拖拽这个Button到目标位置后生成一个该控件的副本。 其实这个操作主要分成三步走 1确定被拖拽的对象 这里是Button要使得Button被单击之后可以拖拽那么必须处理其MouseDown事件 同时调用其DoDragDrop——该函数接受两个参数 i要拖动的数据。 ii拖动的效果该效果是2“目标位置”所能够接受的效果是一个枚举值 Button1.DoDragDrop(Button1, DragDropEffects.Copy || DragDropEffects.Move); //形成拖拽效果移动拷贝的组合效果 2目标位置这里是Form窗体自身。 为了使得和Windows资源管理器中实现的文件拖拽效果一样即拖拽一个文件到目标位置的中途鼠标出现“”号的效果。 那么应当处理DragEnter事件——即拖拽控件途中进入Form体内把效果设置成Copy的效果。 同时为了使得Form自身支持接受拖拽传来的控件必须设置其AllowDragTrue接收的控件 private void Form1_DragEnter(System.Object sender, System.Windows.Forms.DragEventArgs e){ //当Button被拖拽到WinForm上时候鼠标效果出现 if ((e.Data.GetDataPresent(typeof(Button)))) { e.Effect DragDropEffects.Copy; }} 另外一旦松开鼠标那么拖拽过程结束。此时应当处理DragDrop事件复制一个按钮 private void Form1_DragDrop(System.Object sender, System.Windows.Forms.DragEventArgs e){ //拖放完毕之后自动生成新控件 Button btn new Button(); btn.Size ((Button)e.Data.GetData(typeof(Button))).Size; btn.Location this.PointToClient(new Point(e.X, e.Y)); //用这个方法计算出客户端容器界面的XY坐标。否则直接使用XY是屏幕坐标 this.Controls.Add(btn); btn.Text 按钮 count.ToString(); count count 1;} using Microsoft.VisualBasic;using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.Diagnostics;public class Form1{ //计数变量说明输出了第N个Button private int count 1; private void Form1_Load(System.Object sender, System.EventArgs e) { this.AllowDrop true; //窗体自身支持接受拖拽来的控件 } private void Button1_MouseDown(System.Object sender, System.Windows.Forms.MouseEventArgs e) { //左键的话标志位为true表示拖拽开始 if ((e.Button System.Windows.Forms.MouseButtons.Left)) { Button1.DoDragDrop(Button1, DragDropEffects.Copy | DragDropEffects.Move); //形成拖拽效果移动拷贝的组合效果 } } private void Form1_DragEnter(System.Object sender, System.Windows.Forms.DragEventArgs e) { //当Button被拖拽到WinForm上时候鼠标效果出现 if ((e.Data.GetDataPresent(typeof(Button)))) { e.Effect DragDropEffects.Copy; } } private void Form1_DragDrop(System.Object sender, System.Windows.Forms.DragEventArgs e) { //拖放完毕之后自动生成新控件 Button btn new Button(); btn.Size Button1.Size; btn.Location this.PointToClient(new Point(e.X, e.Y)); //用这个方法计算出客户端容器界面的XY坐标。否则直接使用XY是屏幕坐标 this.Controls.Add(btn); btn.Text 按钮 count.ToString(); count count 1; } public Form1() { DragDrop Form1_DragDrop; DragEnter Form1_DragEnter; Load Form1_Load; }} 转载于:https://www.cnblogs.com/lsgsanxiao/p/4835609.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88089.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!