1

私は本業の Web 開発者ですが、ゲーム エミュレーターのフロントエンドを作成しようとしています。私は html/css/javascript に精通しているので、理想的にはすべてのレイアウトをそれで行いたいと思っています。私が知る必要があるのは、それがショーストッパーになるかどうかです. ユーザーがブラウザー コントロールの要素をクリックしたときに、フォーム コードが特定のパスに基づいて何かを起動するようにする必要があります。

これは可能ですか?もしそうなら、それはひどい考えですか?ここでやめて、フォーム デザイナーだけを使用する必要がありますか?

4

1 に答える 1

3

この記事が役に立ちました: http://www.codeproject.com/Articles/35373/VB-NET-C-and-JavaScript-communication

具体的には:

form1 (メイン フォーム) に Imports System.Security.Permissions のようなインポート ステートメントを追加します。次のように、form1 にいくつかの属性を追加します。

    <PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
    <System.Runtime.InteropServices.ComVisibleAttribute(True)> _
    Public Class Form1
    End Class

それから

JavaScript から VB.NET を呼び出す

前のプロジェクトを続けて、form1 に次のコード行を追加します。

     Public Sub showVbHelloWorld()
         MsgBox("Hello world")
     End Sub

form1 ロード イベントに、次のコード行を追加します。 Me.WebBrowser1.ObjectForScripting = Me この行の機能は、form1 クラスを HTML ページの JavaScript に公開することです。COM から見えるようにし、そのアクセス許可を fulltrust に設定する限り、任意のクラスを公開できます。

HTML ページに Button を追加し、クリック イベントで次の関数を呼び出します。

    <script type="text/javascript">
       function showVbHelloWorld() {
          window.external.showVbHelloWorld();
       } 
    </script> 
于 2012-07-16T19:53:35.637 に答える