C# 使用继承处理跨项目事件

C# 使用继承处理跨项目事件,c#,c++,.net,wpf,c++-cli,C#,C++,.net,Wpf,C++ Cli,我有两个项目; 我用C++编写的应用程序,一些项目文件被设置为使用/CLR -我的C WPF控件库,其中包含一些表单 在C++应用程序中,我从C DLL加载表单并在STATTHY中显示它们,而在后台运行其他本地的东西。 我想在C++应用程序中处理C窗体中的窗体事件。这是我启动表单的代码 using namespace System::Windows; using namespace System::Windows::Controls; using namespace MyProject::Int

我有两个项目; 我用C++编写的应用程序,一些项目文件被设置为使用/CLR -我的C WPF控件库,其中包含一些表单

在C++应用程序中,我从C DLL加载表单并在STATTHY中显示它们,而在后台运行其他本地的东西。 我想在C++应用程序中处理C窗体中的窗体事件。这是我启动表单的代码

using namespace System::Windows;
using namespace System::Windows::Controls;
using namespace MyProject::Interface::Views;

public ref class MyProjectApplication : public Application
{
};

[STAThread]
void ManagedMain()
{
    CLILicenseView^ winLicenseAgreement = gcnew CLILicenseView();

    MyProjectApplication^ MyProjectCLI = gcnew MyProjectApplication();
    MyProjectCLI->Run(winLicenseAgreement);
}
我的原始表单名为License.xaml,我试图继承它并覆盖事件,因为我认为它可能有助于我处理事件,但我不知道我在做什么

using namespace System;
using namespace System::Windows;
using namespace System::Windows::Controls;
using namespace MyProject::Interface::Views;

namespace MyProject
{
    public class CLILicenseView : License
    {
        public void CLILicenseView()
        {
            //
        }
    }
}

这是最好的方法,如果不是,我如何处理窗体事件I:Butter从我的C++应用程序中点击?

< P>我认为构图是这里的正确工具,而不是继承。在我只处理类库的C++/CLI项目中,没有UI,ReF类通常持有一个未被约束的C++ C++业务逻辑指针。当用户希望与业务逻辑交互时,他们调用托管方法,然后该方法通过指针调用非托管代码。在您的情况下,当表单想要与非托管代码交互时,它应该调用MyPrimeStpReC++应用程序,而这又会调用您的非托管代码。你说的是其他“本土”的东西是的,它会被管理的。在我的C++项目中有一些本地文件,但是它们与我管理的和本地部分分开的问题无关。将控件声明为受保护的成员,或在许可证中创建受保护的虚拟无效方法,这些方法在表单事件(例如btnX)中引发。单击+=打开BTNXclick;其中OnBtnXClick是许可证中受保护的虚拟无效方法,然后覆盖CLILicenseView中的方法。@jberger我似乎无法使其工作,我遇到了两个与语法相关的错误,我无法找出哪里出了问题。下面是我试图通过添加一个;在我的类decl的末尾,仍然有一个恼人的语法错误1错误C2144:语法错误:“MyProject::CLILicenseView”前面应该加“:”12 1 MyProject