winform中获得鼠标点击点的光标位置
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
this.Text = e.Location.ToString();
}
Keesés afómokban: 如题,C#2008获取点击PicteBox控件时在PicteBox中的坐标值,需要把这个坐标值传递给其他函数使用,谢谢!我需要的是在PicteBox控件里的坐标值。我需要先给出个提示消息,确定之后再点击图像,但是这个过程怎么才可以使程序等待我点击PicteBox控件呢?我尝试用了MoseCick()事件,但是不行。Váaszokpivate void picteBox1_MoseMove(object sende,MoseEventAgs e){int oiginaWidth=this.picteBox1.Image.Width;int oiginaHeight=this.picteBox1.Image.Height;PopetyInfo ectangePopety=this.picteBox1.GetType().GetPopety(&qot;ImageRectange&qot;,BindingFags.Instance|BindingFags.NonPbic);Rectange ectange=(Rectange)ectangePopety.GetVae(this.picteBox1,n);int centWidth=ectange.Width;int centHeight=ectange.Height;dobe ate=(dobe)centHeight(dobe)oiginaHeight;int back_eft_width=(centWidth==this.picteBox1.Width)?0:(this.picteBox1.Width-centWidth)2;int back_top_height=(centHeight==this.picteBox1.Height)?0:(this.picteBox1.Height-centHeight)2;int zoom_x=e.X-back_eft_width;int zoom_y=e.Y-back_top_height;dobe oigina_x=(dobe)zoom_x*ate;dobe oigina_y=(dobe)zoom_y*ate;StingBide sb=new StingBide();sb.AppendFomat(&qot;原始尺寸{0}{1}(宽高)\\n&qot;,oiginaWidth,oiginaHeight);sb.AppendFomat(&qot;缩放状态图片尺寸{0}{1}(宽高)\\n&qot;,centWidth,centHeight);sb.AppendFomat(&qot;缩放比率{0}\\n&qot;,ate);sb.AppendFomat(&qot;左留白宽度{0}\\n&qot;,back_eft_width);sb.AppendFomat(&qot;上留白高度{0}\\n&qot;,back_top_height);sb.AppendFomat(&qot;当前鼠标坐标{0}{1}(XY)\\n&qot;,e.X,e.Y);sb.AppendFomat(&qot;缩放图中鼠标坐标{0}{1}(XY)\\n&qot;,zoom_x,zoom_y);sb.AppendFomat(&qot;原始图中鼠标坐标{0}{1}(XY)\\n&qot;,oigina_x,oigina_y);this.abe1.Text=sb.ToSting();}Megjete váaszként:pcx2010.agszts 31.13:21Az sszes váaszMoseCick事件中事件参数MoseEventAgs中可以获取X,Y坐标。pivate void picteBox1_MoseCick(object sende,MoseEventAgs e){点击时记录坐标int x=e.X;int y=e.Y;if(MessageBox.Show(&qot;你确定吗?&qot;,&qot;提示&qot;,MessageBoxBttons.YesNo,MessageBoxIcon.Qestion)==DiaogRest.Yes){执行你的方法,无须模拟鼠标动作YoMethod(x,y);}}但是我需要的是先提示我点击鼠标,确定之后我再点击PicteBox控件。不是点击之后在确定啊,因为是做在一个菜单下,我点击菜单之后需要有提示我才点击了。2010.agszts 20.2:24 feiyn0112MVP,Modeátomsemove事件判断坐标,提示tootip但是这个仍然不是我所希望和需要的啊?麻烦各位帮我解答下,谢谢!你再把你的问题说清楚点吧!这样才好帮助你。知识改变命运,奋斗成就人生!我的想法是这样的,我在窗体中有一个PicteBox控件,我需要获取我鼠标点击这个控件时的坐标值,但是这个坐标值的话我又想换为这个控件中图像的图像坐标值,也就是图像的x,y值。我这个PicteBox控件的sizemode属性设置为zoom方式,请问该怎么样才可以实现呢?有没有好的解决办法呢?如果你是想将点击缩放后图片的坐标值换为图片正常尺寸的坐标值,那么你需要将图片的缩放比例算出来就行了。正常值=图片绽放状态的坐标值*缩放比例知识改变命运,奋斗成就人生!但是如果我这个图片不是恰好的正常缩放情况下填充满整个PicteBox控件的话,那怎么知道这个坐标换到图片上去的坐标值呢?还有就是这个图片的缩放比例改怎么样获得呢?谢谢当前显示的尺寸图片原始尺寸=绽放比例。如果图片正好用原始尺寸显示在pictebox中,那么缩放比例为1。知识改变命运,奋斗成就人生!但是这个当前显示的尺寸怎么获取呢?如果我获取图片的width和height那是原始大小了?但如果获取PicteBox的大小的话,如果图片缩放后不是完全填充PicteBox控件空间的话那怎么获得图片大小呢?谢谢!2010Micosoft Copoation.Minden jog fenntatva.
//其他需要执行的代码
}
}
mouseclick事件
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right || e.Button == MouseButtons.Left)
mouseclick事件
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right || e.Button == MouseButtons.Left)
{
Point p = MousePosition;//获取位置
{
Point p = MousePosition;//获取位置
//ic Form1()
{
this.MouseClick += new MouseEventHandler(Form1_MouseClick);
}
void Form1_MouseClick(object sender, MouseEventArgs e)
this.Text = e.Location.ToString();
}
Keesés afómokban: 如题,C#2008获取点击PicteBox控件时在PicteBox中的坐标值,需要把这个坐标值传递给其他函数使用,谢谢!我需要的是在PicteBox控件里的坐标值。我需要先给出个提示消息,确定之后再点击图像,但是这个过程怎么才可以使程序等待我点击PicteBox控件呢?我尝试用了MoseCick()事件,但是不行。Váaszokpivate void picteBox1_MoseMove(object sende,MoseEventAgs e){int oiginaWidth=this.picteBox1.Image.Width;int oiginaHeight=this.picteBox1.Image.Height;PopetyInfo ectangePopety=this.picteBox1.GetType().GetPopety(&qot;ImageRectange&qot;,BindingFags.Instance|BindingFags.NonPbic);Rectange ectange=(Rectange)ectangePopety.GetVae(this.picteBox1,n);int centWidth=ectange.Width;int centHeight=ectange.Height;dobe ate=(dobe)centHeight(dobe)oiginaHeight;int back_eft_width=(centWidth==this.picteBox1.Width)?0:(this.picteBox1.Width-centWidth)2;int back_top_height=(centHeight==this.picteBox1.Height)?0:(this.picteBox1.Height-centHeight)2;int zoom_x=e.X-back_eft_width;int zoom_y=e.Y-back_top_height;dobe oigina_x=(dobe)zoom_x*ate;dobe oigina_y=(dobe)zoom_y*ate;StingBide sb=new StingBide();sb.AppendFomat(&qot;原始尺寸{0}{1}(宽高)\\n&qot;,oiginaWidth,oiginaHeight);sb.AppendFomat(&qot;缩放状态图片尺寸{0}{1}(宽高)\\n&qot;,centWidth,centHeight);sb.AppendFomat(&qot;缩放比率{0}\\n&qot;,ate);sb.AppendFomat(&qot;左留白宽度{0}\\n&qot;,back_eft_width);sb.AppendFomat(&qot;上留白高度{0}\\n&qot;,back_top_height);sb.AppendFomat(&qot;当前鼠标坐标{0}{1}(XY)\\n&qot;,e.X,e.Y);sb.AppendFomat(&qot;缩放图中鼠标坐标{0}{1}(XY)\\n&qot;,zoom_x,zoom_y);sb.AppendFomat(&qot;原始图中鼠标坐标{0}{1}(XY)\\n&qot;,oigina_x,oigina_y);this.abe1.Text=sb.ToSting();}Megjete váaszként:pcx2010.agszts 31.13:21Az sszes váaszMoseCick事件中事件参数MoseEventAgs中可以获取X,Y坐标。pivate void picteBox1_MoseCick(object sende,MoseEventAgs e){点击时记录坐标int x=e.X;int y=e.Y;if(MessageBox.Show(&qot;你确定吗?&qot;,&qot;提示&qot;,MessageBoxBttons.YesNo,MessageBoxIcon.Qestion)==DiaogRest.Yes){执行你的方法,无须模拟鼠标动作YoMethod(x,y);}}但是我需要的是先提示我点击鼠标,确定之后我再点击PicteBox控件。不是点击之后在确定啊,因为是做在一个菜单下,我点击菜单之后需要有提示我才点击了。2010.agszts 20.2:24 feiyn0112MVP,Modeátomsemove事件判断坐标,提示tootip但是这个仍然不是我所希望和需要的啊?麻烦各位帮我解答下,谢谢!你再把你的问题说清楚点吧!这样才好帮助你。知识改变命运,奋斗成就人生!我的想法是这样的,我在窗体中有一个PicteBox控件,我需要获取我鼠标点击这个控件时的坐标值,但是这个坐标值的话我又想换为这个控件中图像的图像坐标值,也就是图像的x,y值。我这个PicteBox控件的sizemode属性设置为zoom方式,请问该怎么样才可以实现呢?有没有好的解决办法呢?如果你是想将点击缩放后图片的坐标值换为图片正常尺寸的坐标值,那么你需要将图片的缩放比例算出来就行了。正常值=图片绽放状态的坐标值*缩放比例知识改变命运,奋斗成就人生!但是如果我这个图片不是恰好的正常缩放情况下填充满整个PicteBox控件的话,那怎么知道这个坐标换到图片上去的坐标值呢?还有就是这个图片的缩放比例改怎么样获得呢?谢谢当前显示的尺寸图片原始尺寸=绽放比例。如果图片正好用原始尺寸显示在pictebox中,那么缩放比例为1。知识改变命运,奋斗成就人生!但是这个当前显示的尺寸怎么获取呢?如果我获取图片的width和height那是原始大小了?但如果获取PicteBox的大小的话,如果图片缩放后不是完全填充PicteBox控件空间的话那怎么获得图片大小呢?谢谢!2010Micosoft Copoation.Minden jog fenntatva.
//其他需要执行的代码
}
}
mouseclick事件
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right || e.Button == MouseButtons.Left)
mouseclick事件
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right || e.Button == MouseButtons.Left)
{
Point p = MousePosition;//获取位置
{
Point p = MousePosition;//获取位置
//ic Form1()
{
this.MouseClick += new MouseEventHandler(Form1_MouseClick);
}
void Form1_MouseClick(object sender, MouseEventArgs e)