在C/S模式下面放一张图片,图片上有几个地名(并且要求地名可以自己增加,修改,删除),鼠标在不同的地名上移动出现这地名的详细信息,并且支持放大和缩小,请问高人如何实现?
解决方案 »
- 如使用字符串变量的内容作为结构的名称??
- Assembly.Load假死现象,要等半分钟...........................................
- 如何在有滚动条的 Panel里面用鼠标画虚线框?
- 关于小数点的问题,菜鸟问题
- 播放音频时,音频波形的显示问题(如图)
- 超高分的超简单问题:DataGridView合并单元格的问题, 如何避免拖动滚动条时显示错乱?
- 如何向一个已存在得Excel插入数据 在线等~~~~
- C# CRC校验码的算法
- 在vs.net里怎么样把一个不同应用文件放到不同的文件夹里
- 如何在按最大化按钮的时候不让窗口最大化,而是让窗口卷起
- 关于webclient的downloadfile
- listbox问题,急...
我记得是toolstrip控件不是可以就像是咱csdn鼠标放到人名上面,就显示一些东西~~~~~~~~
在PictureBox的鼠标移动事件中动脑筋吧。
可实现,它是mapinfo的纯.net控件
1. 做一個類用來保存地名的位置和地名信息:
class MapInfo
{
PointF Point; // 用像素點作單位,具體像素點的位置在畫筆工具裡面查看
LocationName Name; // 自己定義一個LocationName類
}2. 自己定義一個位置和地名的對照表,可以用txt文件,也可以用csv文件(從Excel裡面導出),當然最方便是用xml,用這個文件的目的是從將位置信息寫入MapInfo數組;3. 將你的圖片顯示在PictureBox中;4. 實現放大縮小功能,注意將當前放大倍率記錄下來;5. 相應PictureBox的MouseMove事件,將鼠標的橫縱坐標都除以放大倍率,得到換算后鼠標在圖片中的位置;6. 對MapInfo數組中的位置進行循環,判斷鼠標是否與其中的一個位置重合,如果重合,Show出詳細信息(可以用彈出窗口,也可以在Paint事件裡面去做)(純粹爲了賺積分而亂寫的,見笑)