Работа с Fore.NET компонентами

Для использования Fore.NET компонентов на формах, разрабатываемых в сторонних средах разработки, необходимо соблюдение следующих условий:

Пример базового кода формы, предназначенной для работы с Fore.NET-компонентами в проекте на C#:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using Prognoz.Platform.Interop.Metabase;

namespace RunForm

{

    public partial class Form1 : Prognoz.Platform.Forms.Net.ForeNetFormVS

    {

        //Конструктор формы

        public Form1()

        {

            InitializeComponent();

        }

        //Переопределенный конструктор формы, вызывающий базовый конструктор класса ForeNetFormVS

        public Form1(IMetabase Mb): base(Mb)

        {

            InitializeComponent();

        }

    }

}

Пример инициализации и запуска формы:

[STAThread]

static void Main()

{

    Application.EnableVisualStyles();

    Application.SetCompatibleTextRenderingDefault(false);

    IMetabase Mb;

    ...

    Mb = //Подключение к репозиторию;

    //Использование переопределнного конструктора для инициализации формы

    Application.Run(new Form1(Mb));

}

В режиме дизайна для формы будет доступно свойство MetabaseDefinition. Данное свойство позволяет подключиться к репозиторию, с которым в дальнейшем будет осуществляться работа. Это необходимо, например, для настройки свойств компонентов, работающих с объектами репозитория.

Примечание. При запуске формы не осуществляется подключение к репозиторию, настройки которого указаны в свойстве MetabaseDefinition. Подключение должно осуществляться в прикладном коде.

Список Fore.NET-компонентов можно загрузить из сборки Prognoz.Platform.Forms.Net. Настройка компонентов и работа с ними осуществляется таким же образом, как и в среде разработки «Форсайт. Аналитическая платформа». Описание компонентов представлено в разделе Компоненты Fore.NET.

Использование визуальных Fore.NET компонентов

При использовании визуальных Fore.NET компонентов может возникнуть ситуация, когда содержимое в компонентах отображается некорректно (искажение форм объектов, несоответствие цветов и т.д.). Данное поведение обусловлено тем, что операционная система по умолчанию использует старые версии библиотеки comctl32.dll. Это базовая библиотека с элементами управления и взаимодействия с пользователем. Разрешить данную проблему можно путем включения в манифест сборки кода, указывающего необходимость подключения и использования библиотеки одной из последних версий:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  //Код манифеста

  //...

  <dependency>

    <dependentAssembly>

      <assemblyIdentity

        type="win32"

        name="Microsoft.Windows.Common-Controls"

        version="6.0.0.0"

        processorArchitecture="*"

        publicKeyToken="6595b64144ccf1df"

        language="*"/>

    </dependentAssembly>

  </dependency>

</assembly>

См. также:

Использование ресурсов продукта «Форсайт. Аналитическая платформа» в сторонних приложениях