zoukankan
html css js c++ java
运行时通过拖拽动态改变控件的大小 Virus
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
namespace
WindowsApplication11
{
public
partial
class
Form1 : Form
{
private
int
oldx;
private
int
oldy;
enum
mPosition
{
left,
right,
top,
bottom
}
private
mPosition adjust;
public
Form1()
{
InitializeComponent();
}
private
void
button1_MouseDown(
object
sender, MouseEventArgs e)
{
oldx
=
e.X;
oldy
=
e.Y;
}
private
void
button1_MouseMove(
object
sender, MouseEventArgs e)
{
Rectangle rectLeft
=
new
Rectangle(
0
,
2
,
2
, button1.Height
-
4
);
Rectangle rectRight
=
new
Rectangle(button1.Width
-
2
,
2
,
2
, button1.Width);
Rectangle rectTop
=
new
Rectangle(
2
,
0
, button1.Width
-
4
,
2
);
Rectangle rectBottom
=
new
Rectangle(
2
, button1.Height
-
2
, button1.Width
-
4
,
2
);
if
(rectLeft.Contains(e.X, e.Y))
{
adjust
=
mPosition.left;
button1.Cursor
=
Cursors.SizeWE;
}
else
if
(rectRight.Contains(e.X, e.Y))
{
adjust
=
mPosition.right;
button1.Cursor
=
Cursors.SizeWE;
}
else
if
(rectTop.Contains(e.X, e.Y))
{
adjust
=
mPosition.top;
button1.Cursor
=
Cursors.SizeNS;
}
else
if
(rectBottom.Contains(e.X, e.Y))
{
adjust
=
mPosition.bottom;
button1.Cursor
=
Cursors.SizeNS;
}
else
{
button1.Cursor
=
Cursors.Default;
}
}
private
void
button1_MouseUp(
object
sender, MouseEventArgs e)
{
if
(e.Button
==
System.Windows.Forms.MouseButtons.Left)
{
int
dx
=
e.X
-
oldx;
int
dy
=
e.Y
-
oldy;
switch
(adjust)
{
case
mPosition.left:
button1.Left
+=
dx;
button1.Width
-=
dy;
break
;
case
mPosition.right:
button1.Width
+=
dx;
break
;
case
mPosition.top:
button1.Top
+=
dy;
button1.Height
-=
dy;
break
;
case
mPosition.bottom:
button1.Height
+=
dy;
break
;
}
}
}
}
}
【Blog】
http://virusswb.cnblogs.com/
【MSN】
jorden008@hotmail.com
【说明】转载请标明出处,谢谢
反馈文章质量,你可以通过快速通道评论:
查看全文
相关阅读:
linux 命令终端提示符显示-bash-4.1#解决方法
实践过配置成功的VNC安装配置
技术团队新官上任之中层篇
技术团队新官上任之基层篇
代码可维护性的神秘面纱
程序员,如何在工作中崭露头角?
centos 安装git
防火墙 -- centos7默认的firewalld
防火墙 --Ubuntu的ufw工具
golang的跨平台编译
原文地址:https://www.cnblogs.com/virusswb/p/1175621.html
最新文章
Ubuntu上安装jdk,Jboss
程序员最艰巨的十大任务
jad批量反编译class和jadeclipse集成到eclipse的设置方法
敏捷开发的6个实战经验
Junit简介和常用API
《REWORK》启示录 招聘笔杆子——程序员为什么值得写博客
javascript新的原生态API
node.js中文资料导航
Linux shell用法和技巧
Oracle修改被占用的临时表结构
热门文章
Oracle中wm_concat()的使用方法
风雨20年:我所积累的20条编程经验
面试必备的9大成功秘诀
抱怨IT公司人才缺乏?留住现有人才方是正途
不只是技术!成为IT经理必备的十大软技能
LINUX启动顺序
在Linux下用netstat查看网络状态、端口状态
linux设置语言编码
windows下jboss启动、配置、访问
oracle在linux配置信息
Copyright © 2011-2022 走看看