从winforms中的文本框调用javascript函数

时间:2010-01-30 09:20:48

标签: javascript winforms function textbox

我的其中一个表单中有文本框,我想从javascript文件中调用javascript函数...

我的代码是

    this.txtbox.Text = "";
    this.txtbox.Location = new Point(10, 20);
    this.txtbox.Size = new System.Drawing.Size(200, 100);
    this.txtbox.Multiline = true;
    this.Controls.Add(txtbox);
    this.txtbox1.Text = "";
    this.txtbox1.Location = new Point(220,100);
    this.txtbox1.Size  = new System.Drawing.Size(100,100);
    this.Controls.Add(txtbox1);

我的javascript.js文件包含一个函数

function alertMsgLength() {
   alert("a");
}

如何将alertMsgLength()函数调用到我的文本框

this.txtbox.OnKeyPress=?
this.txtbox.OnKeyDown=?

任何建议......

1 个答案:

答案 0 :(得分:0)

为了从C#WinForms应用程序调用JavaScript函数,您必须在应用程序中托管Scripting运行时。 Microsoft提供的接口允许您在应用程序中执行Windows Scripting Engine并向其公开控件。这不是一件容易的事情,我不建议这样做,除非你有一个很好的理由(比如编写一个非常大的,可自定义的应用程序,你想为用户提供API以改变行为等)。看看这些链接: http://msdn.microsoft.com/en-gb/library/t9d4xf28(VS.85).aspx http://www.codeproject.com/KB/cs/csscriptengine.aspx

P.S。如果您只需要从文本框中调用一些JavaScript函数,我强烈建议将该JavaScript转换为C#。 C#可以做一切脚本语言可以做得更好。