none
MSFlexGridの行選択のイベントを手動で発生させたい RRS feed

  • 質問

  • MSFlexGridのことで質問をさせてください。

    ※環境はVB5.0でMSFlexGrid Control5.0(SP2)になります。

    ※また、選択モード(Selectionmode)はリストボックス方式です。

    【質問内容】

    MSFlexGridに対して選択行の範囲を指定して、Clickイベントをコードで発生させることは出来ますでしょうか。

    やりたいことは、以下の通りです。

    ①AとBのフォームがある。

    ②Aのフォームには、ボタン(2個)とテキストボックスが配置されている。

    ③BのフォームにMSFlexGridが配置されている。

    ④Aのフォームの「開く」ボタンクリックで、CSVファイルを開いて、BのフォームのMSFlexGridに表示させる。

    Aのフォームの「データ取得」ボタンクリックで、MSFlexGridの特定の行を選択(クリックイベント発生)させ、

     選択行のデータをAのフォームのテキストボックスに表示させる。

    ①~④までは実装できたのですが、⑤でマウスクリックに相当するイベントを発生させるやり方が分からない状態です。

    よろしくお願い致します。

    2020年1月10日 10:42

すべての返信

  • イベントを発生させると思うと難しくなっちゃいます。

    Bのフォームに Public なメソッドを作って A のフォームから呼び出せばOKかと。

    Public Sub PerformClick(ByVal iRow As Long)
         MSFlexGrid1.Row = iRow
         MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
         MSFlexGrid1.SetFocus
         MSFlexGrid1_Click
    End Sub
    
    Private Sub MSFlexGrid1_Click()
        '選択行のデータをAのフォームのテキストボックスに表示させる処理
    End Sub


    • 編集済み KOZ6.0 2020年1月10日 13:54
    2020年1月10日 13:53
  • 回答、ありがとうございます。

    教えていただいた方法で期待の動作が出来ました。

    2020年1月14日 1:54
  • もぐりん1さん、こんにちは。フォーラムオペレーターのクモです。
    MSDNフォーラムにご投稿くださいましてありがとうございます。

    本件、KOZ6.0さんより参考になる投稿が寄せられたようでなによりです。

    [回答としてマーク]機能は設定された投稿が後から参照しやすくなりますので、
    同じ問題でお困りの方のためにも参考になった投稿に設定いただけますと幸いです。

    お手数ですが、ご協力の程どうかよろしくお願いいたします。

    引き続きMSDNフォーラムをご利用いただけますようお願い申し上げます。

    MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~

    2020年1月15日 1:22
    モデレータ