投稿者 ひでと  (社会人) 投稿日時 2011/4/25 15:59:25
XP、Visual Studio 2005 を使用しております。
DataGridViewのセルに入力するとき三角関数を式として入力して、答えをそのセルにそのまま入力したいのです。

VBScripを使って計算式を計算する方法をネットで知り、
    Public Function Culk(ByVal expression As String) As String
        Try
            Dim exp As String = expression
            Dim t As Type = Type.GetTypeFromProgID("MSScriptControl.ScriptControl")
            Dim obj As Object = Activator.CreateInstance(t)
            t.InvokeMember("Language", Reflection.BindingFlags.SetProperty, Nothing, obj, New Object() {"vbscript"})
            Dim Result As Double = CDbl(t.InvokeMember("Eval", Reflection.BindingFlags.InvokeMethod, Nothing, obj, New Object() {exp}))
            Return Result
        Catch ex As Exception

        End Try
        Return expression
    End Function
として 文字列を計算する方法は分ったのですが、
DataGridViewのどのようなイベントを用いたら、入力後に計算できるのでしょうか?

以前 CurrentCellDirtyStateChangedイベントで編集時に計算する方法を教えていただきましたが、
このイベントだと、1文字1文字毎にイベントが発生?するようで、また編集中のセルが取得できない?ように思います。よろしくお願いいたします。