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

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

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

Re[2]: Buttonを継承したコントロールのVisibleプロパティ


(過去ログ 92 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■54953 / inTopicNo.1)  Buttonを継承したコントロールのVisibleプロパティ
  
□投稿者/ ガンちゃん (1回)-(2010/11/11(Thu) 13:39:07)

分類:[VB.NET/VB2005 以降] 

VB2008を使っています。
ボタンに値を持たせたいと思い、既存のButtonコントロールを継承したExButtonというクラスを作成してみました。
以下はそのクラスの内容です。

Public Class ExButton
    Inherits Button

    Private m_objVal As Object

    Public Property Value() As Object
        Get
            Return m_objVal
        End Get
        Set(ByVal strVal As Object)
            m_objVal = strVal
        End Set
    End Property
End Class

これをフォームデザイナで別のフォームに貼りつけ(名前をbtn1, btn2とします)、このフォームのコンストラクタで
ボタンのVisibleプロパティを設定しようとすると、想定外のおかしな動きをしたので、以下のように調べてみると、

    Public Sub New()
        ' この呼び出しは、Windows フォーム デザイナで必要です。
        InitializeComponent()

        ' InitializeComponent() 呼び出しの後で初期化を追加します。

        btn1.Visible = True    'ブレークポイント
        btn2.Visible = True
    End Sub

デバッグで上記ブレークポイントよりステップ動作で確認すると、btn1とbtn2のVisibleプロパティはずっとFalseのままでした。
どうしてVisible = Trueとしているにも関わらずFalseのままになるのでしょうか?
ご回答宜しくお願い致します。

引用返信 編集キー/
■54954 / inTopicNo.2)  Re[1]: Buttonを継承したコントロールのVisibleプロパティ
□投稿者/ shu (168回)-(2010/11/11(Thu) 13:42:25)
No54953 (ガンちゃん さん) に返信

派生クラスは関係ないです。
フォームが画面に表示されないとVisibleはTrueにならないです。
引用返信 編集キー/
■54955 / inTopicNo.3)  Re[2]: Buttonを継承したコントロールのVisibleプロパティ
□投稿者/ ガンちゃん (2回)-(2010/11/11(Thu) 13:49:15)
No54954 (shu さん) に返信
> ■No54953 (ガンちゃん さん) に返信
>
> 派生クラスは関係ないです。
> フォームが画面に表示されないとVisibleはTrueにならないです。

なるほど、そういうことだったんですか。
道理でFormのLoadイベントではちゃんとVisibleを設定できたわけですね。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -