我在类库中做了一个用户控件,这个控件要放在网页中,我想在控件中获取鼠标在控件里的位置,改怎么办?
补充:
    
    我是做了两个控件,其中一个里边有label,另一个里边有datagridview。
    我想在网页上实现,把label里边的内容拖到datagridview的cell中。这个该怎么办?

解决方案 »

  1.   

    可以使用
    ondrag
    ondrop
    来实现拖动使用event.x和event.y来获取鼠标位置,可以计算出拖到了哪个单元格
      

  2.   

    你这个和我以前做的一个 拼图比较像
    我觉得没必要考虑鼠标的位置
    可以考虑 可以 IF MOUSEOVER CELL 
    然后判断LABLE的位置 如果符合要求  就加到CELL里
      

  3.   

    JS+AJAX````后台代码没办法是实现吧因为有个POSTBACK
      

  4.   

    好像ondrag不是用来拖动用的,用mousedown和mouseup等事件吧,看这个拖动例子:<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>拖拽</title>
    <style type="text/css">
    body
    {
    margin:0px;
    }#b
    {
    width:100px;
    height:50px;
    border:1px solid #666666;
    background-color:#FFCCCC;
    }#f
    {
    position:absolute;/*重要*/
    width:100px;
    height:50px;
    border:1px solid #666666;
    background-color:#CCCCCC;
    }
    </style>
    </head><body><div id="b">拖到这儿</div>
    <div id="f">拖这个东东</div><script type="text/javascript" language="javascript">
    <!--
    //获得物件对象
    var b = document.getElementById("b");
    var f = document.getElementById("f");//配置物件位置
    var b_orgnX = 0;
    var b_orgnY = 0;
    var f_orgnX = 300;
    var f_orgnY = 100;//设置物件位置
    b.style.pixelLeft = b_orgnX;
    b.style.pixelTop = b_orgnY;
    f.style.pixelLeft = f_orgnX;
    f.style.pixelTop = f_orgnY;//拖拽过程中相关变量
    var draging = false; //是否处于拖拽中
    var offsetX = 0; //X方向上偏移量
    var offsetY = 0; //Y方向上偏移量//准备拖拽
    function BeforeDrag()
    {
    draging = true;
    offsetX = document.body.scrollLeft + event.clientX-f.style.pixelLeft;
    offsetY = document.body.scrollTop + event.clientY-f.style.pixelTop;
    }//拖拽中
    function OnDrag()
    {
    if(!draging)
    {
    return;
    }
    //更新位置
    f.style.pixelLeft = document.body.scrollLeft + event.clientX-offsetX;
    f.style.pixelTop = document.body.scrollTop + event.clientY-offsetY;
    }//结束拖拽
    function EndDrag()
    {
    draging = false;
    if (f.style.pixelLeft>=b.style.pixelLeft && f.style.pixelLeft<=(b.style.pixelLeft+b.offsetWidth) &&
    f.style.pixelTop>=b.style.pixelTop && f.style.pixelTop<=(b.style.pixelTop+b.offsetHeight))
    {
    //拖拽块位于基块中,自动定位到基块位置
    f.style.pixelLeft = b.style.pixelLeft;
    f.style.pixelTop = b.style.pixelTop;
    }
    else
    {
    //拖拽块位于基块外,将拖拽块位置复原
    f.style.pixelLeft = f_orgnX;
    f.style.pixelTop = f_orgnY;
    }
    }f.onmousedown = BeforeDrag;
    f.onmousemove = OnDrag;
    f.onmouseup = EndDrag;
    f.onmouseout = EndDrag;
    //-->
    </script>
    </body></html>
      

  5.   

    我是想在 用户控件 内部实现,我的控件做出来之后是给网页.htm调用的,没有后台。控件是靠ondrag来实现拖动的,我在datagridview里边通过计算坐标来判断是哪个cell的,但是在网页的时候,怎么判断鼠标在用户控件里的位置?或者怎么判断鼠标是在哪个cell上的?
      

  6.   

    哈,我解决了,用的是pointtoscreen
      

  7.   

    pointtoscreen这是WinForm的啊,你不是网页吗?