winfrom 中让用户自由移动控件

sky3333ss 2010-11-30 10:12:04
如题:
做个窗体让用户能自己自由的移动控件, 最好不要刷屏那么厉害!
...全文
138 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tercelstar 2010-12-01
  • 打赏
  • 举报
回复
在控件的mouseon事件中设置控件的位置随鼠标的位置变化
threenewbee 2010-12-01
  • 打赏
  • 举报
回复
参考SharpDeveloper的源代码,一个开放源代码的IDE,里面包含窗体设计器。
sky3333ss 2010-12-01
  • 打赏
  • 举报
回复
怎么可以改变控件大小?
ZengHD 2010-11-30
  • 打赏
  • 举报
回复
       
把控件当作标题栏,就能移动控件了

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

[DllImport("user32.dll")]
private static extern bool ReleaseCapture();

private const UInt32 WM_NCLBUTTONDOWN = 0x00A1;
private const UInt32 HTCAPTION = 2;

private void button1_MouseDown(object sender, MouseEventArgs e)
{
ReleaseCapture();
SendMessage(button1.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
}
wuyq11 2010-11-30
  • 打赏
  • 举报
回复
this.DoubleBuffered =true;
调用[DllImport("user32.dll")]
static extern bool LockWindowUpdate(IntPtr hWndLock);
看看
sky3333ss 2010-11-30
  • 打赏
  • 举报
回复
给建议也给分了!着急啊
一、应用场景与出发点 同一个系统,为了解决不同的客户可能需要设计不同的单据打印模板,实现此方法可能是: 1、设计不同的自带RDLC报表文件,根据当前客户加载不同的报表并打印 2、GDI+绘图 和 打印组件 ,不同的客户创建不同的绘图XML格式的模板内容 3、其他第三方组件 主要对比一下前两种方法,第一种方法不好之处在于,不灵活,开发者必须地每个客户制订一个报表,不推荐采用。第二种方法,修改对应的模板内容就可以了, 模板内容可以是Xml文件,也可以是存放在数据库的Xml格式字符串。推荐采用这种方法。然后这种方法的也有一个棘手问题 :如何让用户快速、方便地设计打印模板,本示例就是为了解决这个问题。 二、实现思路与原理 功能概要:设计一个界面,支持用户自由添加 要打印的项,文本,直线,图片 等,并且可以方便改变打印项的 字体、颜色、粗细、位置,设计时支持效果预览。 技术要点:GDI+绘图、拖动控件、XML解析、自定义控件 三、相关类介绍 绘图工具类:DrawHelper 实现 xml格式模板 与 打印项 之间进行互相转换,在目标画板绘制 拖动工具类:WinHelper 实现控件的鼠标拖动,键盘移动 自定义控件:用于显示文字的文本框 TextBoxExt、用于显示直线的标签 LabelExt 主窗体代码:用于用户操作,添加,删除,编辑,打印项 详细介绍请参照我的博文:http://de.cel.blog.163.com/blog/static/51451236201472215450939/

110,552

社区成员

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

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

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