vb.net拖动控件 c# 拖动控件

vb.net textbox1选中的文本,拖放到textbox2?

很久没有上这里了,今天看到了这个问题,尝试做了一个;

成都创新互联是一家专注于成都做网站、网站制作与策划设计,宜川网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:宜川等地区。宜川做网站价格咨询:18982081108

本例以源文本框TextBox1全部文字作为拖放文字为例,实现拖放

1、向一个窗体中添加两个文本框,分别名为TextBox1,TextBox2。注意:把TextBox2控件的AllowDrop属性设置成True,这点不要遗漏。

2、完整的代码如下:

Public Class Form1

Private MouseIsDown As Boolean = False

Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown

'设置一个标志以显示鼠标已按下。

MouseIsDown = True

End Sub

Private Sub TextBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove

If MouseIsDown Then

'开始拖动(将TextBox1的文本内容作为拖放内容)。

TextBox1.DoDragDrop(TextBox1.Text, DragDropEffects.Copy)

End If

MouseIsDown = False

End Sub

Private Sub TextBox2_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox2.DragEnter

'检查正在被拖放的数据的格式。

If (e.Data.GetDataPresent(DataFormats.Text)) Then

'显示复制光标(表示是拖放行为)。

e.Effect = DragDropEffects.Copy

Else

'显示不放置光标(表示不是拖放行为)。

e.Effect = DragDropEffects.None

End If

End Sub

Private Sub TextBox2_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox2.DragDrop

'粘贴文本(将拖放内容作为TextBox2的文本内容)。

TextBox2.Text = e.Data.GetData(DataFormats.Text)

End Sub

End Class

VB.net怎么实现控件拖动的时候显示里面的内容?

在控件的MouseDown事件中,记录控件的当前位置和鼠标坐标,并设置一个标志变量表示进入拖动状态;在MouseMove事件中,判断如果当前是拖动状态,则根据鼠标的当前坐标和MouseDown时的坐标计算出移动量,更改控件位置;在MouseUp事件中清除标志变量。

VB.net怎么实现运行时鼠标拖动改变控件的大小啊

控件是可以显示在里面的,你只要加个label,把label的属性设为visualble=fause就行。设置鼠标经过头像的mouseHover和mouseLeave事件,当mouseHover时label的属性visualble=true,当mouseLeave时label的属性visualble=fause即可。窗体的鼠标事件可以设置控件的cursor属性,里面可以选择许多种鼠标图形。 只要是正常的Form都可以改变窗体大小,但是无边框的窗体只能用函数改变或者设置属性,在debug后是不能改变的。拖动窗体需要在窗体的load时间里面写入当鼠标单击不放时的事件即可,不难。

vb.net 动态控件如何实现拖动功能

VB.NET没写过,C#的倒是经常用,你看看能不能有所启发

void Creact()  //创建4*5格=20个按钮的键盘

{

const int width=Convert.ToInt32(this.panel1.Width/20);

const int height=Convert.ToInt32(this.panel1.Width/25);

for(int i=1;i=5;i++)

{

for(int j=1;j=4;j++)

{

Button b=new Button();

b.Name="btn"+i.ToString()+j.ToString();

b.Left=40*j;

b.Top=30*i;

b.....   //位置设置

b.Text=CortoEnglist(i+j+65);//转换字母键函数略写

...

//加入鼠标事件

b.MouseDown+=new MouseHandler(btn_mousedown);

b.MouseUp+=new MouseHandler(btn_mouseup);

b.MouseLeave+=new MouseHandler(btn_mouseleave);

b.MouseMove+=new MouseHandler(btn_mousemove);

this.panel1.Controls.Add(b)

}

}

}

public int Bealoon br=false;  //判断是否按下全局变量

void btn_mousedown(object sender,MouseEventArgs e)  //鼠标按下开始计算

{

br=true;

}

void btn_mouseleave(object sender,MouseEventArgs e) //鼠标移开就结束

{

br=false;

}

void btn_mouseup(object sender,MouseEventArgs e) //鼠标弹起也会结束

{

br=false;  //跟移开不重复,你按下不松手去按另一个发现他就不会弹起,所以要加这个事件

}

void btn_mousemove(object sender,MouseEventArgs e) //按下状态拖动就有效

{

if(br==true)

{

((Button)sender).Left+=e.X;

((Button)sender).Top+=e.Y;

}

}这样我I就给一组按钮加了拖动状态

vb.net 控件拖动指定范围内?

你做好拖动了吗?会拖动就好办,控制边界就好了,设定label能移动到的最大坐标和最小坐标。

我不太明白你要做什么,如果没有特殊要求,重写trackbar的部分功能即可

vb.net实现控件自由移动

Dim i As Integer

For i = 0 To Me.Width - Button1.Width 'me为容器,典型的是form1

Button1.Left += 1

Windows.Forms.Application.DoEvents()

Next

原理:不断地变化button1的X轴,使其向右移,同样,只要控制好其x,y轴,就可以变化button的变化

如果是做小游戏,建议弄成类吧,把其中的左(右)移或对角其它移动弄成其接口,以便操作。

由于涉及内容太多,不再详述。原理都一样


网站栏目:vb.net拖动控件 c# 拖动控件
本文网址:http://ybzwz.com/article/dodoecg.html