C_Sharp 板


LINE

※ 引述《kenny0622 ()》之铭言: : 还有三个小问题 : 第一个就是rectangle的contains在这个程式码中是侦测拖曳中的滑鼠是否有在上面 : 但是我现在想要做的是让一个控制项A在另一个控制项B之上 就被侦测到 : 是否要用先纪录滑鼠在A之上的相对位置 算出一个矩形范围 然後看有没有跟B重叠 个人觉得用单点来判断其实是比较好的做法 :~ 1. 好写 2. 合理 不然一个 dragged 控制项有可能同一时间 over 另外两个控制项, 那 drop 时, 到底算是 drop到哪一个呢? 如果你坚持的话, 可以参考 System.Drawing.Region 的 IsVisiable() 多载 ex: Region r = new Region( new Rectangle(0,0,100,100) ); r.IsVisiable( new Rectangle(50,50,100,100) ) 是 true 而 r.IsVisiable( new Rectangle(200,200,100,100) ) 则是false 或是用 Region的 Union()/Intersect() 再搭配 IsEmpty() 也可以达到相同的效果~ : 或是有类似的事件可以直接使用(DoDragDrop?) 你看到的 Drag/Drop 相关method全都是用来在控制项内或控制项间(含包ap间) 交换资料用的.. 像是你可以从档案管理员drag and drop一个档到记笔本去开敌 或是你把一个料夹移动到另一个资料夹, 都是用那个 DoDragDrop 来做的. 用 DoDragDrop 也可以达到你要的目的 但不会有你要的拖移picturebox的效果~ 1. 把 picturebox 的 AllowDrop 设成true 不然无法 drop 东西在上面 2. 在启始端(drag)的 mouse down DoDragDrop(sender, DragDropEffect.All); 来开始拖放物件.. 3. 在接收端(drop)的 DragEnter e.Effect = DragDropEffect.All; 设定允许哪些行为/copy?move?link? 游标会显示对应的图示 不允许drop就设 None 4. 在接收端(drop)的 DragDrop 执行 drop 後的完成动作 PictureBox pb = (PictureBox)e.Data.GetData(typeof(PictureBox)); pb blahblah....; : 第二个问题就是 : 亦即每一次tick会把textbox.text中的值加0.1 (interval是100ms) timer的interval只保证最快一个interval的时间会触发一次.. 而且不会累计, 也就是说 100 的那次来不急处理, 200的那次已经到了.. 那 100的那次会被拾弃.. 所以计时应该要用终止时间-起始时间的方式来累计 : 当我在拖曳picturebox的时候(MouseMove) timer并不会tick =.= 你的mousemove可能写的太复杂了? 两个是同一个thread(worker thread?)在处理, 所以mousemove结束前, 当然也没办法处理 tick 的事件, 如果你的工作太复杂, 可以穿差一个 Application.DoEvents() 让他先去处理别的message.. : 第三个问题是 : 那是不是60个MouseMove跟MouseDown的事件都要写 : 还是有更快的方法? 用 for 回圈动态建立啊 @_@a for( ....) { pictureBox = new PictureBox(); 设定location, size, mousedown, mosemove, borderstyle(?)... this.Controls.Add(pictureBox); } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.139.147.4
1F:推 kenny0622:再次感谢您的回答!!! 我继续努力看看! 04/28 04:02







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP