ListBox1内有三项a,b,c
ListBox2内有三项1,2,3
从ListBox1中拖拽一项到ListBox2中去,比如拖拽b到3上,希望能实现在拖拽过程中生成一条直线连接b和3!以便形象的表示b和3联系起来了(类似与数据库中两个表建立关系)
一项可以和多项画线连接,多项对多项也可以连接,线条本身可选中删除;
需要记录每条线两端的信息,以便删除一条线的时候,可以在代码里处理取消两项的联系
ListBox2内有三项1,2,3
从ListBox1中拖拽一项到ListBox2中去,比如拖拽b到3上,希望能实现在拖拽过程中生成一条直线连接b和3!以便形象的表示b和3联系起来了(类似与数据库中两个表建立关系)
一项可以和多项画线连接,多项对多项也可以连接,线条本身可选中删除;
需要记录每条线两端的信息,以便删除一条线的时候,可以在代码里处理取消两项的联系
解决方案 »
- 求高手!!!
- C# _的意思
- 请教关于搜索引擎在蜘蛛抓取时如何防止访问重复URL的问题
- C#中的接口有何用处?为什么要使用接口
- 咨询 Castle+ibatisnet的配置
- C#图像处理的速度就真的只能这么慢吗
- c#中控件的事件(如click,如何知道控件被单击了?)是怎么被触发的?
- 请问这句话什么意思
- 如果内存中DataSet中指定的Tatble字段值?谢谢!
- 拖拽文件到程序窗口
- 连接ACCESS数据库(查找中用到通配符)的问题
- 警告 26 CA1822 : Microsoft.Performance : 从未使用 DataOperate.EGetWTTime(DataGridView):Void 的“this”参数(VB 中为“Me”)。根据需要,将成员标记为 static (V
{
ListBox list1;
ListBox list2;
Dictionary<int, int> relations = new Dictionary<int, int>();
public ItemRelation(ListBox list1, ListBox list2) {
this.list1 = list1;
this.list2 = list2;
list1.FindForm().Paint += new PaintEventHandler(ItemRelation_Paint);
} void ItemRelation_Paint(object sender, PaintEventArgs e)
{
}
public void AddRelations(int item_index_1, int item_index_2) {
relations.Add(item_index_1, item_index_2);
}
void GetPointByItemIndex(int index) {
}
}
还是太复杂了,帮不了你~~~
但是无法控制线的删除,因为GDI+只是在屏幕上画了一道线,如何对这个线条编辑(点选、删除)我不会~~~
但是应该是可以的吧,比如用GDI+做一个画图程序,对画好的图进行扭曲,变形,填充等等,和这个道理应该是一样的
http://blog.csdn.net/wzuomin/archive/2007/08/23/1755743.aspx
http://blog.csdn.net/wzuomin/archive/2007/08/23/1755694.aspx
从那里学了一些东西,不过可惜的是他也是GDI+直接画的,而且文章没写完,用GDI+直接画没办法对线条进行进一步操作
那我再好好研究一下,谢谢了!