2016-12-15 114 views
0

我想让用户将鼠标悬停在三角形上,如下所示,文本框会弹出一些与该三角形相关的信息。 enter image description here如何:将鼠标悬停在形状上显示文本框

三角形绘制具有以下功能...

Public Sub drawTriangle(theRow As Integer, theColumn As Integer, Optional myColor As System.Drawing.Color = Nothing) 
     myColor = System.Drawing.Color.Black 
     Dim theShape As Microsoft.Office.Interop.Excel.Shape = xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeIsoscelesTriangle, (xlWorkSheet.Cells(theRow, theColumn)).Left + 18, (xlWorkSheet.Cells(theRow, theColumn)).Top, 15, 14) 
     theShape.Fill.ForeColor.RGB = ToBgr(myColor) 
     theShape.Line.ForeColor.RGB = ToBgr(myColor) 

    End Sub 

我一直没能找到有关我会怎么做任何的例子还是不错的文档,所以我想我会在这里问。任何和所有的帮助非常感谢!

+0

此信息是否只读?如果是这样,你可以把它作为附加到三角形的评论对象吗? – vbnet3d

+0

@ vbnet3d它只会被读取......您所描述的内容听起来像是它会是完美的,只要它显示出来的时候它会在盘旋时消失而不会被盘旋时消失 – Bob

+0

根据[MSDN](https:// msdn .microsoft.com/en-us/library/office/microsoft.office.interop.excel.range.addcomment.aspx),你可以添加评论到一个范围 - 不确定一个形状。 – vbnet3d

回答

2

根据MSDN,评论可以添加到范围。为了使其适用于您的应用程序,您只需选择与您的形状对应的范围,然后调用AddComment()。

小区的数字坐标可以被用于通过使用如下所示的代码(source)来确定实际的单元名称(即E5):

address = xlWorkSheet.Cells(RowVariable, ColVariable).Address 

这可以与随访

xlWorkSheet.Range(address).AddComment("This is a comment") 
+0

真棒,我真的很感激它。得到它的工作...不得不问,任何方式使评论框更大或评论框中的字体更小? – Bob

+0

不幸的是,我没有任何经验 - 但由于它可以手动完成,我认为它必须通过互操作。 [从这里开始](https://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.excel.comment_properties.aspx),并注意注释有一个“Shape”属性。我希望你需要的东西可能被埋在那里。 – vbnet3d

+0

啊,那很美。再次感谢!! – Bob