• 大小: 507KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: C#
  • 标签:

资源简介

(.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个文件信息

评论

共有 条评论

相关资源