C#에서 수학 입력 패널을 만들려고
문제
C#에서 수학 입력 패널을 어떻게 작성합니까?
나는 그것을 DLL에 넣고 부르려고 노력했지만 바로 닫힙니다.
#include <stdafx.h>
#include <atlbase.h>
#include "micaut.h"
#include "micaut_i.c"
extern "C" __declspec(dllexport) int run()
{
CComPtr<IMathInputControl> g_spMIC; // Math Input Control
HRESULT hr = CoInitialize(NULL);
hr = g_spMIC.CoCreateInstance(CLSID_MathInputControl);
hr = g_spMIC->EnableExtendedButtons(VARIANT_TRUE);
hr = g_spMIC->Show();
return hr;
}
C#에서 DLL 기능을 호출하고 패널이 팝업되지만 즉시 사라집니다. 제안이 있습니까?
해결책
C# 프로젝트에서 COM 라이브러리에 대한 참조 추가 micautLib
. 그런 다음 다음 코드 (C#)를 사용할 수 있습니다.
MathInputControl ctrl = new MathInputControlClass();
ctrl.EnableExtendedButtons(true);
ctrl.Show();
이것이 정확히 당신이 그것을 해야하는지 확실하지 않지만, 이것은 깨끗하게 작동하는 것 같습니다 (완전한 프로그램).
using System;
using System.Windows.Forms;
using micautLib;
namespace MathInputPanel
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MathInputControl ctrl = new MathInputControlClass();
ctrl.EnableExtendedButtons(true);
ctrl.Show();
ctrl.Close += () => Application.ExitThread();
Application.Run();
}
}
}
제휴하지 않습니다 StackOverflow