c# 实现窗体拖到屏幕边缘自动隐藏

以下给出源代码: (注:hide为窗体名称)


代码如下:

private void hide_Load(object sender, EventArgs e)
{
System.Windows.Forms.Timer StopRectTimer = new System.Windows.Forms.Timer();
StopRectTimer.Tick += new EventHandler(timer1_Tick);
StopRectTimer.Interval = 100;
StopRectTimer.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Bounds.Contains(Cursor.Position))
{
switch (this.StopAanhor)
{
case AnchorStyles.Top:
this.Location = new Point(this.Location.X, 0);
break;
case AnchorStyles.Left:
this.Location = new Point(0, this.Location.Y);
break;
case AnchorStyles.Right:
this.Location = new Point(Screen.PrimaryScreen.Bounds.Width - this.Width, this.Location.Y);
break;
}
}
else
{
switch (this.StopAanhor)
{
case AnchorStyles.Top:
this.Location = new Point(this.Location.X, (this.Height - 2) * (-1));
break;
case AnchorStyles.Left:
this.Location = new Point((-1) * (this.Width - 2), this.Location.Y);
break;
case AnchorStyles.Right:
this.Location = new Point(Screen.PrimaryScreen.Bounds.Width - 2, this.Location.Y);
break;
}
}
}
internal AnchorStyles StopAanhor = AnchorStyles.None;
private void mStopAnhor()
{
if (this.Top <= 0)
{
StopAanhor = AnchorStyles.Top;
}
else if (this.Left <= 0)
{
StopAanhor = AnchorStyles.Left;
}
else if (this.Left >= Screen.PrimaryScreen.Bounds.Width - this.Width)
{
StopAanhor = AnchorStyles.Right;
}
else
{
StopAanhor = AnchorStyles.None;
}
}
private void hide_LocationChanged(object sender, EventArgs e)
{
this.mStopAnhor();
}

(0)

相关推荐

  • c#图像截取实例

    本文实例讲述了c#图像截取的实现方法.分享给大家供大家参考.具体如下: 图像截取的相关代码如下: 复制代码 代码如下: public Form1()  {     InitializeComponent();  } private void button1_Click(object sender, EventArgs e)  {     Image pic = new Bitmap(this.Width, this.Height);     Graphics graphic = Graphics

  • 解析C#彩色图像灰度化算法的实现代码详解

    代码如下所示: 复制代码 代码如下: public static Bitmap MakeGrayscale(Bitmap original)        {            //create a blank bitmap the same size as original            Bitmap newBitmap = new Bitmap(original.Width, original.Height);            //get a graphics object

  • 基于c#图像灰度化、灰度反转、二值化的实现方法详解

    图像灰度化:将彩色图像转化成为灰度图像的过程成为图像的灰度化处理.彩色图像中的每个像素的颜色有R.G.B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围.而灰度图像是R.G.B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些.灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征.图像的灰度

  • C#图像处理之边缘检测(Sobel)的方法

    本文实例讲述了C#图像处理之边缘检测(Sobel)的方法.分享给大家供大家参考.具体如下: //定义sobel算子函数 private static Bitmap sobel(Bitmap a) { int w = a.Width; int h = a.Height; try { Bitmap dstBitmap = new Bitmap(w, h, System.Drawing.Imaging.PixelFormat.Format24bppRgb); System.Drawing.Imagin

  • C#实现图像反色的方法

    本文实例讲述了C#实现图像反色的方法.分享给大家供大家参考.具体如下: //定义图像反色函数 private static Bitmap PContray (Bitmap a) { int w = a.Width; int h = a.Height; Bitmap dstBitmap = new Bitmap(a.Width, a.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); System.Drawing.Imaging.

  • C#数字图像处理之图像二值化(彩色变黑白)的方法

    本文实例讲述了C#数字图像处理之图像二值化(彩色变黑白)的方法.分享给大家供大家参考.具体如下: //定义图像二值化函数 private static Bitmap PBinary(Bitmap src,int v) { int w = src.Width; int h = src.Height; Bitmap dstBitmap = new Bitmap(src.Width ,src.Height ,System .Drawing .Imaging .PixelFormat .Format24

  • C#图像边缘检测(Roberts)的方法

    本文实例讲述了C#图像边缘检测(Roberts)的方法.分享给大家供大家参考.具体如下: //定义roberts算子函数 private static Bitmap robert(Bitmap a) { int w = a.Width; int h = a.Height; try { Bitmap dstBitmap = new Bitmap(w, h, System.Drawing.Imaging.PixelFormat.Format24bppRgb); System.Drawing.Imag

  • C#数字图象处理之图像灰度化方法

    本文实例讲述了C#数字图象处理之图像灰度化方法.分享给大家供大家参考.具体如下: //定义图像灰度化函数 private static Bitmap PGray(Bitmap src) { int w = src.Width; int h = src.Height; //构建与原图像大小一样的模版图像 Bitmap dstBitmap = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format24bp

  • C#实现图像锐化的方法

    本文实例讲述了C#实现图像锐化的方法.分享给大家供大家参考.具体如下: //定义图像锐化函数 private static Bitmap Sharpen(Bitmap a,double v) { int w = a.Width; int h = a.Height; try { Bitmap dstBitmap = new Bitmap(w, h, System.Drawing.Imaging.PixelFormat.Format24bppRgb); System.Drawing.Imaging.

  • c# 实现窗体拖到屏幕边缘自动隐藏

    以下给出源代码: (注:hide为窗体名称) 复制代码 代码如下: private void hide_Load(object sender, EventArgs e) { System.Windows.Forms.Timer StopRectTimer = new System.Windows.Forms.Timer(); StopRectTimer.Tick += new EventHandler(timer1_Tick); StopRectTimer.Interval = 100; Sto

  • Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法

    本文实例讲述了Delphi实现窗体感知鼠标滑过并自动隐藏与显示窗口的方法.分享给大家供大家参考.具体实现方法如下: const WM_MouseEnter = $B013; WM_MouseLeave = $B014; type TfrmMain = class(TForm) . . Timer1: TTimer; procedure Timer1Timer(Sender: TObject); protected procedure WMMouseEnter(var Msg: TMessage)

  • 根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码

    既判断分辨率,也判断浏览器 重新完善代码,使之成为判断浏览器类型屏幕分辨率自动调用不同CSS的代码. 复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- if (window.navigator.userAgent.indexOf("MSIE")>=1) { var IE1024=""; var IE800=""; var IE1152=""

  • JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码

    手机的屏幕有大有小,移动web最好做成响应式布局,也就是自适应屏幕,没有固定宽高,这样的话,在所有手机上都可以正常显示.关于移动端页面按手机屏幕分辨率自动缩放的js,先附上代码 <script> var phoneWidth = parseInt(window.screen.width); var phoneHeight = parseInt(window.screen.height); var phoneScale = phoneWidth/750;//除以的值按手机的物理分辨率 var u

  • 基于swing实现窗体拖拽和拉伸

    本文为大家分享了swing实现窗体拖拽和拉伸的具体代码,供大家参考,具体内容如下 当用setUndecorated(true) 后 JFrame去掉标题栏后就得自己写拖拽和拉伸功能了. 下面是效果图,我的截图软件不能够截取除系统默认光标外的光标,所以各个方向光标变化在图中没有体现 代码如下: import javax.swing.*; import java.awt.*; /** * 窗体拖拽和拉伸 */ public class winReSizeDemo { private JFrame j

  • 通过JS自动隐藏手机浏览器的地址栏实现原理与代码

    大家通过手机自带浏览器打开百度.淘宝,在首页加载完毕后,会自动隐藏页面上方的地址栏,加之这些网站针对手机浏览器做了优化,乍看之下,还真难区分这是WEB APP还是Native App,如下左侧图片为通过safari打开淘宝网的首页,要不是因为底下的浏览器工具栏,还真像Native App.实际上它是有地址的,向下拖动就会看到地址栏,如下右侧图片. 如何才能实现将浏览器地址栏隐藏呢?百度一下,有很多资料,很简单,主要利用window.scrollTo()方法,将当前页面在屏幕上向上滚动,造成地址栏

  • WPF自动隐藏的消息框的实例代码

    (鼠标放上去将一直显示,移开动画继续),提供normal和error两种边框. 介绍:传统的确定,取消,OK,CANCAL之类的对话框太繁琐了,由于项目需要而诞生的仿手机式提示对话框.当然传统的对话框项目中也有,这里就不做介绍了. 出场和退场动画做得很简单,就用Blend随便鼓捣了一番,将就用吧. 预览效果如下: 思路其实很简单:将窗体透明化->布局和样式设计->后台传值调用. 准备工作:Microsoft.Expression.Interactions.dll和System.Windows.

  • android自定义ListView实现底部View自动隐藏和消失的功能

    有这样一个ListView,要求在屏幕底部有一个筛选排序的浮动框: 1.手指下拉隐藏,上滑显示 : 2.如果没做任何操作,2S之后,要自动显示: 3.滑动到最底部,始终显示. 首先看其效果图: 实现上述效果,其实现原理如下: 1.在屏幕顶部固定一个BottomView,XML布局最好使用RelativeLayout(底部的BottomView并不是 ListView的footView,这个是和footView独立的,想想为什么?) 2.然后自定义ListView控件,监听onTouchEvent

  • Discuz!插件:自动隐藏帖子第1/2页

    前言 应一位网友要求开卷工作室制作了这个自动隐藏帖子的插件,主要用途是无需手动添加 [hide] 代码,则自动隐藏所有发布的帖子内容,会员需要回复后才可以浏览该帖.这想法相当不错,要实现这一功能也不很难,所以就帮忙做了一个出来.插件提供两种自动隐藏的模式,一种是只隐藏一楼的帖子,另一种是隐藏包括回复在内的所有帖子.因为秉承开卷工作室绿色插件的作风,能够不改动数据库的就不改,所以本插件不增加后台开关功能,而只提供 config.inc.php 的开关设置. 本插件适用于 Discuz! 所有版本的

  • jQuery经过一段时间自动隐藏指定元素的方法

    本文实例讲述了jQuery经过一段时间自动隐藏指定元素的方法.分享给大家供大家参考.具体如下: 下面的代码提供了两种方法用于定时隐藏元素,第一种是使用setTimeout实现,第二种是使用jQuery1.4以后版本中提供的delay方法实现,第二种更简单一下. //这是1.3.2中我们使用setTimeout来实现的方式 //http://www.jb51.net setTimeout(function() { $('.showdiv').hide('blind', {}, 500) }, 50

随机推荐