tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: フォームのResizeイベントについて
投稿日: 2006/02/09(Thu) 21:02
投稿者しょうだい

花ちゃん、アドバイスありがとうございます。

> 試してはいないのでゴミレスかも知れませんが、SuspendLayout メソッド は
> 使えないでしょうか?

SuspendLayout メソッドでもうまくいかないようです。
使い方が間違っているのかもしれませんが。ちなみに以下のようにしてみました。

Public Sub Main()
    Dim frm As Form1
    frm = New Form1
    frm.SuspendLayout()
    System.Windows.Forms.Application.Run(frm)  ← ここで Load イベントの前に
End Sub                                           Reseize イベントが発生してしまう。

> 又、Resizeイベントが発生すると何かまずい事があるのでしょうか?
> それによっては別の対処方法があるかも。

フォームの Load イベントの中で PictureBox などのコントロールの初期設定
をしていて、フォームの Resize イベントの中で PictureBox の再描画などを
しています。その為、Load イベントの前に Resize イベントが発生すると、
コントロールが初期設定されていないので、おかしくなってしまうのです。
それで、現在は、単純な方法なのですが、グローバルのフラグ変数を使って、
上記ソースの Sub Main() の最初に ON にして、フォームの load イベント
の最後で OFF にし、Resize イベントの最初でそのフラグを見て処理するか
しないかの判断をしています。
とりあえずは現状で支障はないのですが、どうもすっきりせず、自分自身納得
がいかなかったので、何かわかればと投稿させて頂きました。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。