プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

VB6でFormを暗黙的に作成させない方法

この記事は2018年09月04日に投稿しました。

目次

  1. はじめに
  2. Formを暗黙的に作成させない方法
  3. おわりに

かんたんプログラミングVisual Basic6 基礎編

かんたんプログラミングVisual Basic6 基礎編

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。

今回は業務で使用しているVB6の話です。
VB6でFormを暗黙的に作成させない方法についてです。

目次へ

2. Formを暗黙的に作成させない方法

VB6でFormを暗黙的に作成させないためには、Form_Initializeイベントハンドラで以下の処理を行ないます。

Private Sub Form_Initialize()
    Set Form1 = Nothing
End Sub

そしてフォームを表示する際は、以下のようにします。

Dim f As Form1
Set f = New Form1
f.Show

目次へ

3. おわりに

フォームを表示する際、いつもは以下の方法で表示していました。

Form1.Load
Form1.Show

しかし、あるフォームをこの方法で表示した後にフォームを閉じると、Form_Loadイベントが実行されることがありました。
調べてみると上記の方法は、フォームを暗黙的に作成する方法でした。
この場合フォームを閉じた後もタイマーなどがフォーム上のコントロールを参照すると、再度インスタンスが作成されてしまうようです。
そのためForm_Loadイベントが再実行されていました。
Form_Loadイベントが再実行されないように、今回の方法を調べました。

未経験からIT業界へ転職なら【WebCampPRO】

かんたんプログラミング Visual Basic 6 応用編

かんたんプログラミング Visual Basic 6 応用編

目次へ