WinForm界面上如何拖动控件?

沉睡的老妖 2012-08-09 10:46:47
做一个类似VS的东西,能够在界面上用鼠标点击的方式添加控件,添加的控件可以拖动,以更改位置...应该怎么弄呢?或者哪位高手 有一些这样的小玩意..给我发一下QQ317648720 谢谢了
...全文
479 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你去下载个sharpdevelop
那是仿VS软件,还是开源的
SocketUpEx 2012-08-09
  • 打赏
  • 举报
回复
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

[DllImport("user32.dll")]
static extern bool ReleaseCapture();
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, UInt32 wParam, UInt32 lParam);

private readonly UInt32 WM_SYSCOMMAND = 0x112;
private readonly UInt32 SC_MOVE = 0xF010;
private readonly UInt32 HTCAPTION = 2;

private void button1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(button1.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(pictureBox1.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}

private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(textBox1.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
}
}
}



mingcsharp 2012-08-09
  • 打赏
  • 举报
回复
你看看VS里面有一个叫什么visualstdio.desinger类的.
具体忘了,你查一下,专门介绍做类似VS的东西
Hamsic 2012-08-09
  • 打赏
  • 举报
回复
MouseDown事件里面写咯

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧