新人求助,关于winform控件之间画线的问题。

fhy_12344667 2016-04-05 10:30:50
我需要在两个text控件中画一个箭头指向性的线,并且需要我拖动text的时候画好的线跟着控件位置移动,请问这个功能能否实现?求大神解答
...全文
848 50 打赏 收藏 转发到动态 举报
写回复
用AI写文章
50 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmg494005678 2016-11-29
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
你这个需求应该将连线设计成自定义控件,拖动时改变连线控件的外形尺寸即可 如果你采用这个方案,可以继续讨论一下
版主你好,看到您的代码学习了,再问一下,那个line能生成一个带箭头的么?
xuzuning 2016-05-03
  • 打赏
  • 举报
回复
这是什么?
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 39 楼 xuzuning 的回复:
你赋予 Box 太多的功能了,其实他只是继承与 Panel 的一个容器 之所以是从 Panel 继承,是为了让 VS 的设计环节把他作为容器处理(可以向他中间拖入控件) Panel 的鼠标事件是需要自己编程处理的,而 Box 被设计成主动处理鼠标事件 仅此而已 如果不考虑控件的拖动,就没必要 Box,只用 Panel 就可以了
可是我只是把你在上面的生成自定义控件的box代码生成了一个box啊- -其他我什么都没加。。。。 那这样的情况该怎么解决。。。我怎么才能把box变成panel的子类不报错呢?
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 39 楼 xuzuning 的回复:
你赋予 Box 太多的功能了,其实他只是继承与 Panel 的一个容器 之所以是从 Panel 继承,是为了让 VS 的设计环节把他作为容器处理(可以向他中间拖入控件) Panel 的鼠标事件是需要自己编程处理的,而 Box 被设计成主动处理鼠标事件 仅此而已 如果不考虑控件的拖动,就没必要 Box,只用 Panel 就可以了
大神能不能留个联系方式我可以直接问你可能说的比较清楚~
姓小名白丶 2016-05-03
  • 打赏
  • 举报
回复
引用 15 楼 xuzuning 的回复:
不会的,你是怎么放的?
厉害 膜拜膜拜
xuzuning 2016-05-03
  • 打赏
  • 举报
回复
你赋予 Box 太多的功能了,其实他只是继承与 Panel 的一个容器 之所以是从 Panel 继承,是为了让 VS 的设计环节把他作为容器处理(可以向他中间拖入控件) Panel 的鼠标事件是需要自己编程处理的,而 Box 被设计成主动处理鼠标事件 仅此而已 如果不考虑控件的拖动,就没必要 Box,只用 Panel 就可以了
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 34 楼 xuzuning 的回复:
public partial class Box : Panel
在楼下贴了代码= = 。。。。大神说一下哪里还有错。。我点右边的灯泡解决不了
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 34 楼 xuzuning 的回复:
public partial class Box : Panel



抱歉啊新手问题比较多。。。。。
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 34 楼 xuzuning 的回复:
public partial class Box : Panel


xuzuning 2016-05-03
  • 打赏
  • 举报
回复
public partial class Box : Panel
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 30 楼 xuzuning 的回复:
我的是 public partial class Box : Panel
你改成了 public partial class box : UserControl
这样 VS 就不会认为 box 是容器控件,自然也就不会自动去写
this.box1.Controls.Add(this.textBox1); 这样的代码了
而是只替你写 this.Controls.Add(this.textBox1); 这样的代码

你要么把 box 改成 Panel 的子类
要么就手工设置 textBox1.Parent = box1

但是我把box的类改成panel的话就会报错。。。
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
[quote=引用 31 楼 qq_19640461 的回复:]
[quote=引用 30 楼 xuzuning 的回复:]
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 46 楼 xuzuning 的回复:
终于明白了 你把那几个出错行注释掉就可以了 那是 UserControl 控件才有的属性
那我直接把panel修改为textbox就可以了,多谢大神一路指导!!!!学会了很多东西哦
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 46 楼 xuzuning 的回复:
终于明白了 你把那几个出错行注释掉就可以了 那是 UserControl 控件才有的属性
我懂了。。。。现在就是设计控件的时候, 先继承 UserControl , 里面的初始控件位置, 都拖好了, 最后, 修改 UserControl 为 Panel 得意思对吧? 那么,我能不能直接自定义空间里先把textbox放进去?
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 46 楼 xuzuning 的回复:
终于明白了 你把那几个出错行注释掉就可以了 那是 UserControl 控件才有的属性
注释之后就变成了这个样子。。。再使用也没有textbox。。。我注释了是: 这几行
xuzuning 2016-05-03
  • 打赏
  • 举报
回复
终于明白了 你把那几个出错行注释掉就可以了 那是 UserControl 控件才有的属性
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 42 楼 xuzuning 的回复:
这是什么?
等等我在思考一下。
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 42 楼 xuzuning 的回复:
这是什么?
这里有什么问题吗?抱歉。。。。我可能水平太低了。。。麻烦版主讲解下
fhy_12344667 2016-05-03
  • 打赏
  • 举报
回复
引用 42 楼 xuzuning 的回复:
这是什么?
1、我先添加一个用户自定义控件,然后将你的代码复制到控件中。 2、运行编译,它就报错,然后自动跳到这个界面。
fhy_12344667 2016-05-02
  • 打赏
  • 举报
回复
引用 30 楼 xuzuning 的回复:
我的是 public partial class Box : Panel 你改成了 public partial class box : UserControl 这样 VS 就不会认为 box 是容器控件,自然也就不会自动去写 this.box1.Controls.Add(this.textBox1); 这样的代码了 而是只替你写 this.Controls.Add(this.textBox1); 这样的代码 你要么把 box 改成 Panel 的子类 要么就手工设置 textBox1.Parent = box1
懂了!
加载更多回复(30)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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