永发信息网

求解:C#中 线条控件是怎么实现拉长和缩短的?

答案:2  悬赏:40  手机版
解决时间 2021-02-04 11:27
求解:C#中 线条控件是怎么实现拉长和缩短的?
最佳答案
要自定义一个控件的话,要学习如何画图,需要了解Graphics, Pen , Brush 等类型追问我已经把线条画出来了,但是想拖动和拉伸要自定义事件,可否讲解一下有哪些事件,这些事件都用来实现什么功能的(这部分详细点!)谢谢!追答要实现拖动的话,首先要记录你在哪里画了线条,然后当鼠标点击的时候判断鼠标是否点中了该线条,要实现你所说的控件,无非是在控件的各个鼠标动作事件中写一些代码。
以画线段为例,当鼠标按下时记录端点A,在用户托动鼠标时临时记录端点B,并从端点A到端点B画线,最后当用户放开鼠标时,再把端点B记录下来,这样就画出一条线段。你要移动的画,就要重新拾取该线段,当用户按下鼠标时要判断当前鼠标按下的点是否点在线段上。
具体你看以参考一下Excels的画图动作,你可以模仿一下。追问如果在移动的过程中,线条发生跳动是怎么回事?追答线条发生跳动?
你是想说闪屏吧。
如果是闪屏,在很多网上会回答你用双缓存来解决,其实你可以先在内存把图像画好然后再一次性画到屏幕。
另外,你画线条的时候,可以先把原来线短的数据复制出来,鼠标按下移动时,原来的线条A线不动(在原来的位置画图),在鼠标的当前位置同时用虚线画刚复制出来的副本,以提示用户当前位置与原来位置的距离,当用户释放鼠标时再把副本的数据赋给原线条,之后就只画原线条,而释放副本。
你说的另一种跳动,可能是你计算位移时,算法有误,
你应在按下鼠标时先记录第一点的位置,而之后鼠标移动的每一点要与第一点比较计算出位移(而不是后一点与前一点比较),再把位移值与原来的点值相加,得出新的位置。
全部回答
线条控件?有这个东东,没用过,求科普追问打算做一个自定义控件的,但不会...
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
庭妍小说全集
金强男装品牌店我想知道这个在什么地方
金帐汗蒙古部落的历史传说
锦帙的意思是什么啊?知道的请说下!
减肥吃燕麦片好吗
4S店保险流程是怎样的,有谁去过吗
甘草江湖录百度云资源能给我嘛
茶花牌的水壶质量怎么样
广西的物流公司哪些比较大?
风云2演员表和剧情简介
电脑科技在什么地方啊,我要过去处理事情
无双大蛇z。进不去游戏。进去时有一会窗口游
相贸的意思是什么啊?知道的请说下!
【已知在一个不透明的口袋中有4个形状、大小
互联网里的demo是什么东西?是一项工作吗?还
推荐资讯
在一个小数减法算式中,差是51.3.如果被减数
做出临床诊断以后,还需要首先进行哪一项辅助
自由空间网络主题宾馆地址好找么,我有些事要
简述电路原理以及实现的功能
高级护理护和护理学有什么不同,高级是不是专
键盘的顿号在哪
车复原快修中心怎么去啊,我要去那办事
石也瓷轩我想知道这个在什么地方
多梦吃什么药好,怎么办
桥梁承台钢筋布置先布置长向还是先布置短向?
excel文件为什么会损坏打开什么也没有了
wiiu可以玩逆转裁判吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?