资源简介
(.Net,VS2008SP1,C#)winform下动态生成label和控件拖动,以及控件拖动时边界的判断。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CDRForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
}
#region 通用事件
private Point mouse_offset;
private Point original_pos;
private void Common_MouseUp(object sender MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(mouse_offset.X mouse_offset.Y);
//检查是否超出背景图片边界,超出则位置不变;在图片范围内,则控件位置改变。
if (((Control)sender).Parent.PointToClient(mousePos).X >= 0 && (((Control)sender).Parent.PointToClient(mousePos).X <= ((Control)sender).Parent.BackgroundImage.Size.Width)
&& (((Control)sender).Parent.PointToClient(mousePos).Y >= 0 && ((Control)sender).Parent.PointToClient(mousePos).Y <= ((Control)sender).Parent.BackgroundImage.Size.Height))
{
((Control)sender).Location = ((Control)sender).Parent.PointToClient(mousePos);
MessageBox.Show(((Control)sender).Location.ToString());
}
else
{
((Control)sender).Location = original_pos;
}
}
}
private void Common_MouseDown(object sender MouseEventArgs e)
{
mouse_offset = new Point(-e.X -e.Y);
original_pos = ((Control)sender).Location;
}
private void Common_MouseMove(object sender MouseEventArgs e)
{
((Control)sender).Cursor = Cursors.Arrow;
if (e.Button == MouseButtons.Left)
{
Point mousePos = Control.MousePosition;
mousePos.Offset(mouse_offset.X mouse_offset.Y);
((Control)sender).Location = ((Control)sender).Parent.PointToClient(mousePos);
}
}
#endregion
private void label1_MouseUp(object sender MouseEventArgs e)
{
Common_MouseUp(sender e);
}
private void label1_MouseDown(object sender MouseEventArgs e)
{
Common_MouseDown(sender e);
}
private void label1_MouseMove(object sender MouseEventArgs e)
{
Common_MouseMove(sender e);
}
private void button1_Click(object sender EventArgs e)
{
Label label = new Label();
label.Text = “ 这是label!“;
label.Location = new Point(00);
label.AutoSize = true;
label.BackColor = System.Drawing.Color.Transparent;
Image
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-10-14 15:18 CDRForm\
文件 911 2010-10-14 15:18 CDRForm.sln
目录 0 2010-10-14 15:18 CDRForm\bin\
目录 0 2010-10-14 15:18 CDRForm\bin\Debug\
文件 105472 2010-10-20 11:16 CDRForm\bin\Debug\CDRForm.exe
文件 24064 2010-10-20 11:16 CDRForm\bin\Debug\CDRForm.pdb
文件 14328 2010-10-20 11:18 CDRForm\bin\Debug\CDRForm.vshost.exe
文件 490 2007-07-21 01:33 CDRForm\bin\Debug\CDRForm.vshost.exe.manifest
目录 0 2010-10-20 11:08 CDRForm\bin\Debug\image\
文件 138 2010-10-19 14:51 CDRForm\bin\Debug\image\02.gif
文件 3725 2010-10-14 15:21 CDRForm\CDRForm.csproj
文件 3605 2010-10-20 11:16 CDRForm\Form1.cs
文件 4893 2010-10-20 11:13 CDRForm\Form1.Designer.cs
文件 147394 2010-10-20 11:13 CDRForm\Form1.resx
目录 0 2010-10-19 14:13 CDRForm\image\
文件 138 2010-10-19 14:51 CDRForm\image\02.gif
文件 88989 2010-10-19 13:07 CDRForm\image\ff.jpg
文件 17408 2010-10-20 11:08 CDRForm\image\Thumbs.db
目录 0 2010-10-14 15:18 CDRForm\obj\
目录 0 2010-10-14 15:18 CDRForm\obj\Debug\
文件 492 2010-10-20 11:18 CDRForm\obj\Debug\CDRForm.csproj.FileListAbsolute.txt
文件 847 2010-10-20 11:14 CDRForm\obj\Debug\CDRForm.csproj.GenerateResource.Cache
文件 105472 2010-10-20 11:16 CDRForm\obj\Debug\CDRForm.exe
文件 94776 2010-10-20 11:14 CDRForm\obj\Debug\CDRForm.Form1.resources
文件 24064 2010-10-20 11:16 CDRForm\obj\Debug\CDRForm.pdb
文件 180 2010-10-14 15:21 CDRForm\obj\Debug\CDRForm.Properties.Resources.resources
目录 0 2010-10-14 15:18 CDRForm\obj\Debug\TempPE\
文件 488 2010-10-14 15:18 CDRForm\Program.cs
目录 0 2010-10-14 15:18 CDRForm\Properties\
文件 1370 2010-10-14 15:18 CDRForm\Properties\AssemblyInfo.cs
文件 2864 2010-10-14 15:18 CDRForm\Properties\Resources.Designer.cs
............此处省略3个文件信息
- 上一篇:基于ASP.NET车辆管理系统源码
- 下一篇:C#版IEEE754
评论
共有 条评论