C # - Как открыть форму Windows в DLL - PullRequest
0 голосов
/ 24 октября 2018

У меня есть две программы: DesktopApp1 и DesktopApp2.Оба они являются формами Windows Forms, но первый выводит библиотеку классов (.dll), а второй ссылается на нее.

Форма 1 (dll):

namespace DesktopApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public void generate()
        {
            crystalReportViewer1.ReportSource = @"C:/Users/me/rel1.rpt";
        }
    }
}

Форма 2:

// ...
using DesktopApp1;

namespace DesktopApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            DesktopApp1.Form1 r = new DesktopApp1.Form1();
            // The Form 1 window doesn't opens. Nothing happens.
            r.generate();
        }
    }
}

Что я ожидаю:

Пользователь нажимает button1 из Форма 2 и новое окно Форма 1 (DLL) открывается с использованием метода generate.

Что на самом деле происходит:

Пользователь нажимает button1, курсор мыши переходит в состояние загрузки, и на экране ничего не появляется.

Что я, возможно, делаю неправильно?Есть ли другой способ преобразовать форму Windows в DLL и открыть ее из другой программы?

1 Ответ

0 голосов
/ 24 октября 2018

Используйте методы Form.Show (...) или Form.ShowDialog (...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...