簡易関数電卓JsCalc Visual Basic 2010 (2)

 WebBrowser コントロールが見えてると、手抜きがバレバレなので隠してみました。(^_^;
 計算結果は、TextBox2 に表示すようにしました。また、Button1 を右クリックで、画面をクリア出来るようになりました。
 まず、Form1 に TextBox1, Button1, TextBox2, WebBrowser1 を順に設置します。

 コードは以下の通りです。

Public Class Form1

    Private Sub Form1_Load(
        ByVal sender As System.Object, ByVal e As System.EventArgs
    ) Handles MyBase.Load
        'ここは、 'Form1.vb[デザイン]でプロパティを設定してもよいです。
        Me.Text = "JsCalc"
        Me.AcceptButton = Button1    '[Enter]キーでも計算可能にする
        Me.Size = New Size(300, 105)
        Button1.Text = "="
        WebBrowser1.Visible = False    'WebBrowser1 を隠す
    End Sub

    Function JsEval(ByVal expr As String) As String
        Dim result As String = ""
        Dim strScript As String = "<script>document.write(eval('" + expr + "'));</script>"

        Try
            WebBrowser1.DocumentText = strScript
            mySleep(100)  'ちょっと待つ
            result = Me.WebBrowser1.Document.Body.InnerHtml
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation)
        End Try

        Return result
    End Function

    Public Sub mySleep(ByVal mSec As Double)
        Dim Start As Double = Microsoft.VisualBasic.Timer     '測定開始時間

        Do While Microsoft.VisualBasic.Timer - Start < Int(mSec) / 1000.0
            Application.DoEvents()              'ここで mSec [m秒]間だけ空ループする
        Loop
    End Sub

    Private Sub Button1_Click(
        ByVal sender As System.Object, ByVal e As System.EventArgs
    ) Handles Button1.Click

        TextBox2.Clear()
        TextBox2.Text = JsEval(TextBox1.Text)
    End Sub

    'ボタンを右クリックすると画面をクリアー
    Private Sub Button1_MouseDown(
        ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs
    ) Handles Button1.MouseDown

        If (e.Button = Windows.Forms.MouseButtons.Right) Then
            TextBox2.Focus() : TextBox2.Clear() 
            TextBox1.Focus() : TextBox1.Clear()
        End If
    End Sub

End Class

※実行画面

※参考URL
三流君VBA:InternetExplorer.application .document.all(0).innerHTML

簡易関数電卓JsCalc Visual Basic 2010
簡易関数電卓JsCalc Visual Basic 2010 (3)

Visual Basic 2008入門

Visual Basic 2008入門

明快入門 Visual Basic 2008 ビギナー編 (林晴比古実用マスターシリーズ)

明快入門 Visual Basic 2008 ビギナー編 (林晴比古実用マスターシリーズ)

ひと目MS VISUAL BASIC 2008アプリケーション開発入門 (マイクロソフト公式解説書)

ひと目MS VISUAL BASIC 2008アプリケーション開発入門 (マイクロソフト公式解説書)

基礎Visual Basic 2008(DVD付) (IMPRESS KISO SERIES)

基礎Visual Basic 2008(DVD付) (IMPRESS KISO SERIES)

これからはじめるVisualBasic2008

これからはじめるVisualBasic2008

Visual Basic 2008 逆引きクイックリファレンス Windows Vista/XP対応

Visual Basic 2008 逆引きクイックリファレンス Windows Vista/XP対応

ゼロから学ぶ最新Visual Basic (日経BPパソコンベストムック)

ゼロから学ぶ最新Visual Basic (日経BPパソコンベストムック)

独習Visual Basic 2008

独習Visual Basic 2008