2016-12-15 7 views
0

Я пытаюсь сделать это, когда пользователь навешивается над треугольником, как показано ниже, текстовое поле появляется с определенной информацией, относящейся к этому треугольнику. enter image description hereПрактическое руководство. Наведите указатель мыши на фигуру TextBox

Треугольники рисуются с помощью следующей функции ...

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().

Числовой координаты ячейки могут быть использованы для определения фактического имени ячейки (т.е. E5) с помощью кода вроде следующего (source):

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

Это можно проследить с:

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

Удивительно, я очень ценю это. Получил его работу ... Должен спросить, любой способ сделать окно комментариев Bigger или шрифт в поле комментариев меньше? – Bob

+0

К сожалению, у меня нет опыта с этим, но, поскольку это можно сделать вручную, я предполагаю, что это должно быть возможно через interop. [Начните здесь] (https://msdn.microsoft.com/en-us/library/office/microsoft.office.interop.excel.comment_properties.aspx) и обратите внимание, что для комментария есть свойство Shape. Я ожидаю, что то, что вам нужно, вероятно, где-то там похоронено. – vbnet3d

+0

А это красиво. Еще раз спасибо!! – Bob