| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как Visual Studio создавая проект библиотеки классов (dotnet.dll) подключить форму (Windows Forms)

Как Visual Studio создавая проект библиотеки классов (dotnet.dll) подключить форму (Windows Forms)

Ответ
Поиск в этой теме
Непрочитано 15.02.2015, 09:54 #1
Как Visual Studio создавая проект библиотеки классов (dotnet.dll) подключить форму (Windows Forms)
gizmo_zx
 
Проектировщик ЭО,ЭМ, ЭОС
 
Нижний Новгород
Регистрация: 18.07.2007
Сообщений: 256

Бодрого дня.
Подскажите по Visual Studio.
Пример кода для nanocad.
Сама программа работает.
1) как прикрутить Windows Forms (что бы по "HelloWorld" открывалась моя форма)
2) куда вписать глобальные переменные (что бы по кнопке переменная увеличивалась на +1, по условно по HelloWorld2 выдавалось число нажатий кнопки формы, либо это делалось по нажатии другой кнопке на форме)
До этого обходился avtocad`ом и его VBA.


Код:
[Выделить все]
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports Teigha.DatabaseServices
Imports Teigha.Runtime
Imports Teigha.Geometry
Imports HostMgd.ApplicationServices
Imports HostMgd.EditorInput
Imports HostMgd.Windows
Imports Platform = HostMgd
Imports PlatformDb = Teigha

Namespace bjVBnanoCAD
    Public Class Class1
        <CommandMethod("HelloWorld")> _
        Public Sub bjHelloWorld()
            Dim _text1 As Integer
            _text1 = 1
            'Dim tdb As Editor2 = Teigha.DatabaseServices. 
            Dim ed As Editor = Platform.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
            'Platform.ApplicationServices.Application.DocumentManager.MdiActiveDocument.
            Dim str_test As String
            Dim Double_test As Double
            Dim Entity_test As Object
            'Platform.ApplicationServices.Application.DocumentManager.MdiActiveDocument.
            ' Print message to command line
            ed.WriteMessage("Hello nanoCAD plugin with vb.net express 2010.")
            Entity_test = ed.GetEntity("Select object:")

            ' работает =>
            'str_test = ed.GetString("Input string:").ToString
            'ed.WriteMessage(str_test)
            'Double_test = ed.GetDouble("Input doble:").Value
            'ed.WriteMessage("Out " & Double_test)

            'тип не показывает
            ''str_test = Entity_test.GetType.ToString
            ''ed.WriteMessage(" :" & str_test)

            'ThisDrawing.Utility.GetEntity(block_atr, pt, "УКАЖИТЕ БЛОК С АТРИБУТАМИ:")
            'вытаскиваем атрибуты блока по одному'
            Dim arr_block As New ObjectIdCollection
            For Each objAttr In Entity_test
                'Attr = objAttr
                'Attr.TextString - значение атрибута'
                'Attr.TagString - имя атрибута'
                'Attr.Rotation - угол поворота атрибута'
                'Attr.InsertionPoint - точка вставки атрибута' ???????
                '----'
                'всякое разное делаем с атрибутами'
                '-----'
                'обновление значения атрибута на чертеже'
                'Attr.Update()
            Next


        End Sub
    End Class

Последний раз редактировалось gizmo_zx, 15.02.2015 в 11:47.
Просмотров: 4024
 
Непрочитано 15.02.2015, 19:55
1 | #2
Wrath

Конструктор
 
Регистрация: 11.11.2011
Сообщений: 284


Я не программист, но поскольку никто с проффи так и не отозвался, попробую вам помочь.
Следует создать класс с описанием формьі; в нужном методе создать обьект класса формьі и в нужном месте метода вьізвать метод обьекта Show() или ShowDialog().
На счет переменной неуверен, возможно нужно ее значение записьівать в отдельньій файл...
Wrath вне форума  
 
Непрочитано 16.02.2015, 13:14
1 | #3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Код:
[Выделить все]
Imports HostMgd.ApplicationServices
Imports HostMgd.EditorInput
Imports Teigha.Runtime
Public Class acad__boxashu
    Public Shared _count As Integer
    <CommandMethod("bx_HelloWorld1")> _
    Public Sub bx_HelloWorld1()
        Dim myForm As Form1 = New Form1
        Application.ShowModelessDialog(myForm)
    End Sub
    <CommandMethod("bx_HelloWorld2")> _
    Public Sub bx_HelloWorld2()
        Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
        Dim acEd As Editor = acDoc.Editor
        acEd.WriteMessage("Значение счетчика : " & _count.ToString)
    End Sub
End Class
Код:
[Выделить все]
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        acad__boxashu._count = acad__boxashu._count + 1
    End Sub
End Class
Проверил на nanoCAD 5.0/ Все работает.

Последний раз редактировалось Boxa, 16.02.2015 в 14:23.
Boxa на форуме  
 
Автор темы   Непрочитано 16.02.2015, 19:56
#4
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 256
<phrase 1= Отправить сообщение для gizmo_zx с помощью Skype™


Огромное спасибо.
То что надо. Буду разбираться.
Еще вопросик.
Offtop: ( а то так пить хочется, аж переночевать негде)
Как по нажатию кнопки2 на форме запустить процедуру "Public Sub bx_HelloWorld2()" (или любую другую)

Последний раз редактировалось gizmo_zx, 16.02.2015 в 21:24.
gizmo_zx вне форума  
 
Непрочитано 17.02.2015, 10:35
#5
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Ээээ... в том коде, который я привел, есть ответ на Ваш вопрос, однако тот момент, что Вы его все таки задаете, говорит о том, что Вам стоит внимательнее ознакомится с основными понятиями и принципами ООП.
Boxa на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как Visual Studio создавая проект библиотеки классов (dotnet.dll) подключить форму (Windows Forms)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поссорились Visual Studio 2010 и Acad 2013 gizmo_zx Программирование 3 12.02.2014 10:05
Операции с папками и путями swkx Программирование 21 27.04.2012 00:33
Подскажите литературу для Windows Forms в Visual C МишаИнженер Поиск литературы, чертежей, моделей и прочих материалов 9 25.03.2011 07:52
LISP получить список установленных в системе (векторных) шрифтов или хотя бы узнать, установлен ли указанный Ax3 LISP 9 08.02.2011 14:11
Microsoft Visual Studio: Инициатива по лицензированию разработчиков ПО Кулик Алексей aka kpblc Разное 6 05.09.2009 18:16