我想实现这样得极具有挑战性的功能,请高人指点

noApple 2003-10-16 09:37:17
诸位在中学得英语课本上肯定看过这样的划线题,左边是一列中文单词,右边是一列英文单词,然后你用笔把意思相同的中文单词和英文单词用线连起来。如下:

我 you
你 me
他 him

我现在就要实现这样得功能,因为用户划完线后,我要获取对应关系,把各个对应关系保存下来。怎么办呢?如果不要划线,那应该怎样实现这样得功能?
...全文
26 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
noApple 2003-10-16
  • 打赏
  • 举报
回复
楼上得不好这么说呀,讨论讨论,多一些交流总不是坏事情,你说对吗?
TechnoFantasy 2003-10-16
  • 打赏
  • 举报
回复
不用画线,控件中不是有一个Line控件吗,可以用这个啊。
900126 2003-10-16
  • 打赏
  • 举报
回复
这样的作业自己想想就得了,有什么讨论
lzj34 2003-10-16
  • 打赏
  • 举报
回复
楼上说的也是个办法,第二办法就是用数据库
ID   中文  英文 
1    我 me
2    你 you
3    他 him
通过ID号进行处理(左边将从表中随机产生中文同时用一个数组保存下ID号,右边将从表中随机产生英文同时用一个数组保存下ID号)
通过ID处理应该可以
noApple 2003-10-16
  • 打赏
  • 举报
回复
如果用户要修改结果,关键还要把划好得线再擦掉,真麻烦得
noApple 2003-10-16
  • 打赏
  • 举报
回复
从来没有用vb划过线,哎,估计又要费一番脑筋得
Lionking1027 2003-10-16
  • 打赏
  • 举报
回复
值得学习!!收藏!!!!
noApple 2003-10-16
  • 打赏
  • 举报
回复
还有一个简单的方法,点左边的某一个(记下它的ID),再点右边的某一个(记下它的ID),你用程序自动画线,你看行不?

这好象是个好办法,那每个词也要一个区域是吧?
冰山来客123499 2003-10-16
  • 打赏
  • 举报
回复
记录鼠标点下的位置,如果在上述文字的框内(使用API可以很方便判断的.)那么开始画橡皮线,到鼠标mouseup时,判断该点是否在另外一边的某个框内,是则划线,不是则不划线.划线后记录对应关系即可.
TechnoFantasy 2003-10-16
  • 打赏
  • 举报
回复
至于连线,可以将Label创建到一个PictureBox上,然后采用golden24kcn(不甜) 的方法来实现连线和记录。
TechnoFantasy 2003-10-16
  • 打赏
  • 举报
回复
如果是我实现的话,首先创建两个表保存题目,两个表分别对应题目的两边的数据,并且每一个题目都有一个id),表如下:
表1 表2
ID Value ID Value
1 我 1 you
2 你 2 me
3 他 3 him

首先从数据库中取数据,取出一个记录就创建一个Label显示记录数据,并且把Label的tag属性设置为该记录的ID号。
然后创建一个collection,用户每连好一个关系就把所对应的两个Label中的tag以Key-Value的形式保存在collection中。
至于保存,可以在创建一个表,然后将colleaciton中的Key-Value对保存进去。
golden24kcn 2003-10-16
  • 打赏
  • 举报
回复
帮你想想,我认为这条线的画法,用DRAG来拖拽事件里,那么对右边每个词都要有一个区域,DROP记录从谁开始拖拽的,OVER中找出指到了哪个区域.还有一个简单的方法,点左边的某一个(记下它的ID),再点右边的某一个(记下它的ID),你用程序自动画线,你看行不?
noApple 2003-10-16
  • 打赏
  • 举报
回复
没有人帮我吗?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧