Red de conocimiento informático - Material del sitio web - Cómo utilizar C# para el desarrollo secundario de Visio

Cómo utilizar C# para el desarrollo secundario de Visio

1) Ideas de diseño arquitectónico del sistema de gestión de desarrollo secundario Viso

Para imitar eficazmente la interfaz de Office, utilizamos muchos iconos de barra de herramientas similares. Los iconos pueden tener un color transparente. Haga que la visualización del icono sea más perfecta sin dejar rastros del fondo de la imagen base.

Por supuesto, todo el diseño utiliza el famoso WeifenLuo.WinFormsUI.DockContent para hacer que la interfaz sea más perfecta. Además, una cosa que vale la pena mencionar es que para que la barra de herramientas sea móvil, segmentada y otras operaciones, Aquí también se utiliza el panel ToolStripPannel proporcionado por el propio marco.

La siguiente es una descripción general de cada área de interfaz del sistema. Primero, echemos un vistazo al gráfico a continuación.

La parte roja es el contenido del propio control de Visio. La ventana de forma (también llamada molde) de la izquierda se presenta llamando al archivo de forma abierto. Cuando hacemos un desarrollo secundario de Visio, la mayor parte del tiempo nos ocupamos de este control. Para otras partes, después de diseñar la interfaz (que implica principalmente el diseño y uso de la interfaz de diseño), solo necesita llamar a la interfaz API relevante para implementar las funciones relevantes.

Diagrama de diseño de la arquitectura de desarrollo secundario de Viso

El diseño de la arquitectura de todo el sistema se muestra en la siguiente figura. Las partes verdes son controles externos y las otras partes son códigos escritos por usted mismo. Y los límites también están divididos. Es relativamente claro que la capa de interfaz solo interactúa con la capa de lógica empresarial y no operará directamente la base de datos o los archivos de Visio. Estas dos partes se entregan a la capa de acceso a datos (DAL) y Visio. capa de acceso a objetos (VOL) a continuación para llamadas de encapsulación. La capa de acceso a datos accede a la base de datos a través de la biblioteca empresarial de Microsoft, lo que garantiza menos código y una mayor calidad del código. Entre ellos, la capa de entidad y la capa general son los contenidos más comunes de cada módulo.

Además de la necesidad de operar archivos Visio (incluidos varios archivos de moldes y documentos Viso), el desarrollo secundario de Visio también debe ocuparse de la base de datos.

Para distinguir y coordinar mejor su acceso, establecí un límite de acceso: la capa que accede a la base de datos no accederá al objeto del archivo Visio, y la capa que accede al objeto del archivo Visio no accederá al La base de datos está unificada por la implementación de la capa empresarial (Business), y la información de la capa de entidad se puede compartir entre cada capa.

El acceso subyacente a la base de datos se completa utilizando el módulo Enterprise Library, por lo que la capa DAL solo necesita hacer menos trabajo para completar el acceso a la base de datos.

Proceso de aprobación del dibujo de desarrollo secundario de Visio

El dibujo solo se puede publicar después de haber pasado la edición, revisión y revisión al mismo tiempo. El dibujo publicado se puede ver en la Web. .

Al guardar el dibujo, si es dibujante, el nombre de usuario se completará en la columna "Dibujo" del dibujo, y el nombre de usuario para revisión, corrección y emisión se borrará, y el estado del dibujo volverá al estado de "edición" si la persona es un corrector o revisor, el nombre de usuario se completará en "Revisión" o "Revisión" y el nombre de usuario de "Problema" se borrará y el el dibujo volverá al estado de "Revisado" o "Publicando" si es un emisor, el sistema preguntará "Si se publica", seleccione si el estado del dibujo cambiará a "Publicado", de lo contrario cambiará a "Publicación" ", y se borrará el nombre de usuario emisor.

Todo el proceso de publicación se juzga por los valores de los atributos y no implica demasiado contenido del proceso, por lo que la operación de publicación de dibujos es relativamente simple.

Relación de objetos de molde del sistema

Todo el sistema está diseñado con muchos tipos de objetos de molde. Todos los equipos tienen un campo para indicar a qué tipo de equipo pertenece básicamente. las siguientes categorías: Categoría: una categoría son símbolos puros, que no incluyen estadísticas ni otra información, como ríos, carreteras, etc.; una categoría son equipos de línea, incluidas barras colectoras, cables y líneas aéreas; una categoría son interruptores, incluidos interruptores de carga; , interruptores de cuchilla e interruptores de relé, etc.; la primera categoría son los transformadores, incluidos los transformadores públicos, los transformadores especiales, etc.

El diseño del molde es muy particular Cuando Visio analiza los dibujos, si es un ícono de molde combinado, pensará que son dos íconos de molde, lo cual es muy desfavorable para el análisis topológico, por lo que todos los moldes. se procesan a través de ShapeSheet. Dibuje la forma geométrica para garantizar que todo el molde sea un todo. El dibujo del molde es una tarea muy delicada y compleja. También debe considerar los efectos de procesamiento de la interfaz del texto, el cierre del interruptor y otros eventos. Para comprender y dominar esto, es necesario abrir algunas secciones. El curso se puede explicar claramente. La siguiente figura dibuja aproximadamente el diagrama de relación jerárquica de los equipos en el sistema. Tenga en cuenta que es solo un diagrama conceptual. En el sistema real, el equipo no tiene una relación de herencia directa.

Seguimiento del estado del dispositivo para el desarrollo secundario de Visio

Para un programa que usa Visio para el desarrollo secundario, detrás de escena necesita saber qué dispositivos ha agregado y eliminado el usuario. (mover o cambiar texto, atributos, etc.) para que pueda controlar eficazmente los datos de todo el sistema. Si necesita saber esto, entonces es muy importante que realice un seguimiento del estado del dispositivo, especialmente cuando una operación de eliminación de un dispositivo está diseñada para eliminar contenido relacionado, este trabajo es particularmente importante.

Debido a las frecuentes actualizaciones del estado del equipo, por el bien de la estabilidad y eficiencia del sistema, todo el sistema no guarda información relevante del equipo cuando se guardan o modifican los dibujos, cuando se publican los dibujos, la base de datos original se borra; La tabla de información del equipo vuelve a recorrer la información del equipo del dibujo y la escribe en la base de datos de inmediato. Esto garantiza la autoridad para publicar la información del equipo del dibujo y mejora el rendimiento del sistema.

Escucha de eventos para el seguimiento del estado de objetos de Visio

En los ejemplos de desarrollo de C# Viso, se recomienda utilizar la escucha de eventos para procesar contenido relacionado. Esta es una buena idea. al ejemplo de desarrollo en VB), pero hay algunos problemas en el procesamiento, principalmente debido al cambio de conceptos y la consideración de detalles. Aquí puede escuchar cualquier evento que le interese y luego implementar su propio procesamiento comercial a través de funciones personalizadas. Este método es relativamente simple de implementar y la idea es muy clara.

Objetos y relaciones de la base de datos de objetos de Visio

Para mantener la información del dispositivo relacionada con Visio, debe crear tablas relacionadas en la base de datos para almacenar información de atributos del dispositivo e información de dibujo para facilitar la información. Consulta estadística, visualización de dibujos a través de la Web, etc.

Device1 es una tabla de dispositivos generada automáticamente en base a la tabla SystableField. Su nombre de tabla se registrará automáticamente en SysDeviceTable para facilitar la búsqueda de la tabla correspondiente al tipo de dispositivo. SystableField es casi una copia basada en la definición de atributo en el objeto Visio. Registra el nombre del campo, el tipo de campo, la visibilidad, la clasificación, el formato, el valor predeterminado, etc. que se incluyen en la definición del atributo de Visio (verá cada uno cuando lo haga). abra ShapeSheet). Cada atributo corresponde a la información de definición de una fila, que es el almacenamiento del contenido).

Hay una tabla VisioImage y VisioImageRelease en el sistema. Una es para almacenar el contenido del dibujo agregado o modificado (almacenamiento binario) y la otra es para almacenar el dibujo publicado (almacenamiento binario). abre el dibujo. El archivo binario escrito en esta tabla se restaura en un archivo Visio y se abre.

2) Preparación de C# para el desarrollo de Visio

Instalar Visio2007, VisioSDK2003 y versión 2007

Visio2007 es la versión de desarrollo recomendada, porque actualmente se usa básicamente Visio2007. más, y la versión 2003 probablemente ya no esté disponible. Además, se recomienda instalar ambas versiones de Visio SDK para complementar la falta de información en la foto. Por ejemplo, hay un diagrama de modelo de objetos en VisioSDK2003, pero no en 2007.

Estar familiarizado con el uso de Visio Drawing Control

Es muy importante estar familiarizado con el uso de este control, por lo tanto, al comienzo del desarrollo, es mejor usarlo. este control para hacer algunos ejemplos simples para comprender el interior Varios atributos, funciones y procesamiento de eventos.

Esto es muy útil para desarrollar un sistema complejo.

Documento de ayuda para el desarrollo de Visio

VisSDK.chm

Biblioteca de ejemplos de código de Visio.chm

Estos dos documentos de ayuda cubren básicamente Hay un Hay una gran cantidad de código que puede usarse como referencia para todos los aspectos del desarrollo de Visio. La descripción y el análisis de algunos conceptos u objetos también son muy únicos y útiles. Aunque el contenido está en inglés, parece más laborioso, pero el inglés. documento de desarrollo Todos son relativamente simples y deberías leer más.

Operación del documento Visio2007

Ver propiedades de ShapeSheet y contenido de ayuda

Este es un contenido familiar e insustituible para el desarrollo. Contiene descripciones de las propiedades de cada ShapeSheet. más Es la única manera de avanzar hacia el desarrollo avanzado de Visio.

Grabación de macros de Visio

Para dominar las funciones de grabación y visualización de macros de Office, para el desarrollo de Visio, debe estar familiarizado y comprender el código de macros. Los objetos que contiene son muy importantes.

Establecer el modo de desarrollador del documento de Visio

Cambiar la vista ShapeSheet de Visio

Vista ShapeSheet

3) Modelo de objetos de programación de Visio

p>

En el desarrollo secundario de Visio, comprender su modelo de objetos es tan importante como usar palillos para comer. De lo contrario, si no está familiarizado con los escenarios y métodos de uso de los palillos, no podrá comer.

Los principales son los siguientes objetos:

Aplicación

Ventana (Application.ActiveWindow)

Documento (Application.ActiveDocument)

Maestro, Forma, Celda

En un programa, solo hay un objeto Aplicación, que es similar al concepto de proceso, el archivo Visio abierto tiene muchas ventanas, incluida una ventana principal; de ActiveWindow y una ventana de selección, ventana de forma, etc. después de abrir el archivo de molde, también es un documento, y el archivo de Visio abierto también es un documento de Actvie que se refiere al documento correspondiente a la ventana de Visio actual. El documento tiene una o más páginas. Por ejemplo, hay dos en la página del sistema, una es la página de dibujo y la otra es la página de fondo.

Hay muchos Maestros en el archivo de molde. Maestro es similar al concepto de plantilla. Un Maestro representa un tipo de dispositivo y la Forma es la información que define un gráfico. una forma y cada forma Hay muchas celdas que representan una cuadrícula en una ShapeSheet, y cada cuadrícula tiene un nombre de referencia único.

En el documento de Visio, a diferencia del archivo de molde, hay un gran mundo en su interior, con muchos Maestros, muchas Formas y Celdas. Sin embargo, como vemos que los dibujos pueden tener múltiples copias de un dispositivo de molde, Tienen un Maestro común, es decir, un Maestro tiene múltiples referencias de Forma. Cuando analizamos el archivo, sabemos que hay un MasterID en él, que es un poco como una clave externa en una base de datos.

El siguiente es el diagrama del modelo de objetos en VisioSDK2003, que resume la relación entre varios objetos.

Acerca de las relaciones topológicas

Visio tiene muy poca información sobre las relaciones topológicas. Excepto por una conexión que conoce las dos relaciones de conexión del dispositivo, hay relativamente poca información si la necesita. Haga un diagrama topológico del dispositivo Para el análisis, deben guardar sus propias relaciones en la base de datos, especificar un dispositivo de inicio y luego analizar los gráficos, como análisis de cortes de energía, análisis de pérdida de línea, etc. en el sistema, todos que se analizan en la base de datos y el efecto es bastante bueno. Simplemente será más problemático.

Análisis de archivos en formato Visio XML

Formato maestro

Formato de páginas/formas

Parte maestra del archivo Visio XML

En el documento XML del dibujo, solo hay un objeto Shape en la colección Shapes detrás del Master

La colección Shapes del dibujo tiene múltiples objetos Los valores NameU y Name de cada objeto. puede ser diferente. Generalmente, se utiliza NameU.

Páginas y formas de archivos XML de Visio

Muchos atributos en Visio tienen un nombre de atributo con el mismo nombre + U. En circunstancias normales, Lo mejor es usar este nombre, como NameU, por lo que es un nombre único. A veces encontrará que el nombre es el mismo, pero son diferentes porque sus nombres NameU son diferentes.

Operación del archivo de molde

Este artículo es un resumen completo de todo el conocimiento de desarrollo de Visio que se ha enseñado y no se ha enseñado antes. Hay algunos lugares que rara vez se han presentado antes. O se ha cubierto antes, por lo que daré una explicación detallada aquí. Análisis de nivel e introducción. Con respecto al desarrollo y exploración de Visio, hay relativamente pocos materiales nacionales, y muchos de ellos son investigaciones exploratorias y tentativas. El artículo puede proporcionar alguna orientación para todos.