C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■95986 / )  フォーム初期化時にTableLayoutPanelを取得でき
□投稿者/ 半角 (1回)-(2020/10/14(Wed) 17:44:09)

分類:[.NET 全般] 

VB2015を使っております。

TableLayoutPanel1をフォーム上に配置します。

この状態で、


    Public Sub Form6_Imaging_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim Heights = TableLayoutPanel1.GetRowHeights
        Dim Widths = TableLayoutPanel1.GetColumnWidths

    End Sub


を実行すると、TableLayoutPanel1のWidthやHeightを取得することができます。

一方で、なぜかTableLayoutPanel1のいずれかのセルにPictureBoxを配置した状態で、
上記のコードを実行すると、
WidthもHeightもLength=0となっており、
値を取得することができません。

ただし、一度フォームのロードが終わった後は取得できるようになります。

更に、なぜか、PictureBoxに加えて、Labelを追加すると、
また取得可能なようになります。

これって一体どういう仕様なのでしょうか?

PictureBoxしか入っていない状態で、
フォームのロード時に、
WidthやHeightを取得するにはどうすれば良いですか?

返信 編集キー/


管理者用

- Child Tree -