Message 1 of 3
Not applicable
01-03-2012
12:52 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello everyone
Is it possible to refresh drawing content when modal form is running?
I placed sample project in attachment.
There is simple form with only one button.
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Class1.DrawLineOnScreen()
End Sub
After button is pressed, application prompting user for picking 2 points, and draw a line (based on picked points).
Public Shared Sub DrawLineOnScreen()
Dim editor As Editor = Application.DocumentManager.MdiActiveDocument.Editor
Dim pFirst As PromptPointOptions = New PromptPointOptions("First point: ")
Dim rFirst As PromptPointResult = editor.GetPoint(pFirst)
Dim pSecond As PromptPointOptions = New PromptPointOptions("Second point: ")
Dim rSecond As PromptPointResult = editor.GetPoint(pSecond)
If rFirst.Status = PromptStatus.OK AndAlso rSecond.Status = PromptStatus.OK Then
Dim line As Line = New Line(rFirst.Value, rSecond.Value)
Dim tr As Transaction = Application.DocumentManager.MdiActiveDocument.TransactionManager.StartTransaction
Using tr
Dim modelSpace As BlockTableRecord = tr.GetObject(Application.DocumentManager.MdiActiveDocument.Database.CurrentSpaceId, OpenMode.ForWrite)
modelSpace.AppendEntity(line)
tr.AddNewlyCreatedDBObject(line, True)
tr.Commit()
End Using
End If
End Sub
Problem is that line had been added to transaction (to Model Space block table record) but nothing change on a drawing. Line will appear on a drawing after closing the form.
In opposite situation, without using modal form (only console) everyting works fine.
<CommandMethod("DrawLine", CommandFlags.Modal)> _
Public Sub DrawLine()
Class1.DrawLineOnScreen()
End Sub
Solved! Go to Solution.