比如说我现在在画布上画一个 矩形的对象;如何才能让它相应双击事件
解决方案 »
- WPF中,动态添加tree子节点,Parent.Items.Add(new Child);Parent下面没有Items的引用怎么回事
- 问大家一个问题?
- c#音乐播放器
- 好不容易找到个画dxf的不完整的库,还是问题百出啊
- C#中,关于在一个窗口显示多张图片的问题
- 水晶报表,接着问。。。。
- 该错误如何解决?
- 用C#做安装程序,web安装项目。总是出现“不可恢复的错误” 过来人请进!
- 请问形如Class1.Class2[index].Value的类如何建立?
- 请问:winform里如何打开一个IE窗口并显示一个网页?C#有IE控件吗?
- [在线等]winfrom中DataGridView的MouseEnter事件如何定位cell
- 菜鸟提问:关于文件复制的问题
//1.画布的双击事件
//2.双击事件中 e.x,e.y是否在矩形中,如果在执行
这是一个矢量图;
可以捕捉到 矩形对象中心点 的 (e.x e.y)
单击时是选择 矩形对象,可以进行移动现在我想,当我双击 矩形对象时,让它响应双击事件
http://hi.csdn.net/space-4513808-do-album-picid-678402-goto-down.html
上面是我空间的相册的图片地址
在panel的双击事件中,判断一下,当前的位置,如果在矩形中,触发你的双击事件。
这个控件设计中经常用到。还有一个麻烦的可能是Zorder,如果有两个矩形交叉,点在了交叉区域怎么办?
给你的控件加上zorder, who 在上边,就触发who的事件。
无非是事件中写上(伪码):
if(ptInRectangleA()){
Fire_Event_RectangleA();
}if(ptInCircle()){
Fire_Event_Circle();
}你画上的每个“控件”都有区域(不限于矩形)
你画上的每个“控件”都应该是有标识的,把标识传给你的事件。这样可以处理N多事件。
感谢 云中漫步 提供思路,以下是我的做法我先选中 某个对象;然后判断,所选中的对象是否是自己想要的
最后加个计数鼠标点击次数
判断鼠标是否双击对象
这样就可以触发事件下面是我的代码:private int imageCount = 0; //统计鼠标点击 Image对象的次数
public override void OnMouseDown(DrawArea drawArea, MouseEventArgs e)
{
…………
if (o != null)
{ //判断是否为图片对象,如果是,双击修改
if (o is DrawImage)
{
imageCount++;
if ((e.Button == MouseButtons.Left)&&(imageCount==2))
{
……(你自己需要触发的事件)
} }
}
……
}
很感谢大家;圆满结贴!