C#文字跟随鼠标移动

原文转自:http://blog.csdn.net/plutus_sutulp/article/details/7817781


1、WinForm中,左击后鼠标右侧会出现文字,会跟随鼠标一起移动。放开后效果消失。代码如下:

private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            this.label2.Location = new Point(e.X + 10, e.Y);
            this.label2.Text = "当前坐标:"+e.X + "," + e.Y;
        }

        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
if(e.Button == MouseButtons.Left)
{
            this.label2.Visible = true;
}//判断是否为左键
        }

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            this.label2.Visible = false;
        }

提示信息:
MouseMove:当鼠标在窗体移动的触发事件,跟e获取x,y的坐标

MouseDown:当按下鼠标的时候,判断是否为左键,如果true,就把label.visible=true;设置显示,

MouseUp:当放开(弹出)鼠标的时候,就直接设置Label为visible=false 

2、C#当鼠标移动到一个panel上是,显示一下信息,当鼠标移走的时候信息没了。
拖一个 ToolTip 控件到窗体里。窗体里的控件就会自动有一个 "tooltip 上的 ToolTip"属性,你想显示什么提示就在这里写什么。
如果你要动态的去设置这个提示 代码是 this.toolTip1.SetToolTip(this.panel1, "鼠标放这里的提示");
补充,如果你是asp.net中的panel控件的话,直接去设置该控件的ToolTip属性即可。

3、在C#中,我如何实现鼠标移动到某个画图去就显示文字或点击就执行代码?
代码如下:public void gd_(int x, int y,int w,int h)
        {         
            Graphics g = this.CreateGraphics();   
            g.DrawRectangle(new Pen(Color.Black, 1), x, y, w, h );
        }
上面代码我定义了一个矩形,我想鼠标移动到这个矩形区域就显示成手的形状和点击就会执行textbox1.Text="sss";这段代码,我如何能实现?谢谢各位大侠了! 

你可以把弄个label 
然后使用这个label的鼠标悬停(mousehover)事件 
在这个事件执行时把你想显示的现实出来就好了
this.Cursor = Cursors.Hand; //手型
this.Cursor = Cursors.Default;//恢复 

4、c#限制鼠标移动问题
我想让鼠标只能在form窗体范围内,怎么实现 

不是control即更简单啦,就下面一行。
Cursor.Clip = form.bounds;

如果是控件control的话,
那就:
Rectangle bounds = control.Bounds;
bounds.Location = control.PointToScreen(bounds.Location);
Cursor.Clip = bounds; 

5、c#如何限制鼠标的移动范围
让鼠标在一个固定的范围内移动,不能移动到范围外面去

int   titleHeight   =   System.Windows.Forms.SystemInformation.CaptionHeight;   
  Point   myFormPoint   =   this.PointToScreen(new   Point(0,0-titleHeight));   
  Rectangle   rect   =   new   Rectangle(myFormPoint,   new   Size(this.ClientRectangle.Width,this.ClientRectangle.Height   +   titleHeight));   
  System.Windows.Forms.Cursor.Clip   =   rect; 

6、c# 移动鼠标复制坐标区域图像
制作要点:

【1.Point对象的应用。

【2.PointToScreen()方法的应用。

   该方法可以将制定工作区的位置计算成屏幕坐标,其语法结构如下:

      public  System.Drawing.Point PointToScreen(System.Drawing.Point p)

   其中参数p表示要转换的工作区坐标System.Drawing.Point。

【3.Graphics对象的应用。

【4.Size对象的应用。

【5.Graphics对象的CopyFromScreen()方法的应用。

  该方法可以执行颜色数据从屏幕到System.Drawing.Graphics的绘图图面的位块传输,其语法结构如下:

     public void CopyFromScreen(int sourceX,int sourceY,int destinationX,int destinationY,System.Drawing.Size blockRegionSize)

  各参数意义如下:

  1)sourceX:位于源矩形左上角的点的x坐标。

  2)sourceY:位于源矩形左上角的点的y坐标。

  3)destinationX:位于目标矩形左上角的点的x坐标。

  4)destinationY:位于目标矩形左上角的点的y坐标。

  5)blockRegionSize:要传输的区域大小。

制作步骤:

新建一个Windows窗体应用程序。设置"Text"属性为“移动鼠标复制坐标区域图像”。

添加代码:

双击窗体中"MouseMove"事件,添加:

 private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            Point myp = this.PointToScreen(e.Location);
            Graphics myg = this.CreateGraphics();
            Size mys = new Size(100,100);
            myg.CopyFromScreen(myp.X-50,myp.Y-50,0,0,mys);
            myg.Dispose();
        }

你可能感兴趣的:(C#,WinForm)