Я работаю над сторонней программой под названием "Encompass 360", и я очень ограничен пределами их SDK.С учетом сказанного они используют MSHTML для составления форм (поэтому я не могу использовать HAP). Это был очень неприятный процесс.
Я хочу создать свою собственную форму, которая более динамична, чемчто они предлагают от своего "строителя форм".
Определение, которое они дают нам для его использования:
public void AttachToDocument(HTMLDocument document, FormOptions option)
Я пытаюсь это:
HTMLDocument htpanel = pnlHTML.HTMLElement.document as HTMLDocument;
htpanel.open();
htpanel.createElement("Form");
htpanel.createTextNode("Just some text");
htpanel.createAttribute("P");
htpanel.write(new object[] { "<P>Please work.</P>" });
htpanel.close();
htpanel.body.innerHTML = ("<SCRIPT type=\"text/javascript\">Alert(\"HI\");</SCRIPT>");
try
{
htpanel.body.outerHTML = ("<BODY id=pnlHTML1 contentEditable=false style=\"BORDER-TOP: 0px inset; BORDER-RIGHT: 0px inset; BORDER-BOTTOM: 0px inset; BORDER-LEFT: 0px inset; VISIBILITY: inherit\" controlType=\"Class1\"></BODY>");
}catch(Exception ex)
{
wf.MessageBox.Show(ex.Message.ToString());
}
htpanel.bgColor = Color.Black;
this.Form.AttachToDocument(htpanel, FormOptions.None);
С кодом выше, "htpanel.write () »вызывает исключение COMException с ошибкой« Несоответствие типов ».Я перепробовал много разных способов поиска и не смог пройти через это.
Может кто-нибудь указать мне правильное направление?