tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル継承されたメンバーの一部を隠す方法
記事No4321
投稿日: 2006/09/26(Tue) 17:07
投稿者お助けされマン
MaskedTextBox クラスを継承して
MyMaskedTextBox という新しいクラスを作成するのですが、
TextBox のプロパティ・メソッド・イベントの内
使用しないものは隠したいです。
(プロパティウィンドウに表示されないようにしたい。)
このようなことは可能でしょうか?


Public Class MyMaskedTextBox
  Inherits System.Windows.Forms.TextBox

  Public m_aaa As Integer

  Public Property aaa() As Integer
    Get
      Return m_aaa
    End Get
    Set(ByVal value As Integer)
      m_aaa = value
    End Set
  End Property

End Class

上のようにすると
プロパティウィンドウに aaa が表示されます。
それは良いのですが、
逆に、たとえば、 ImeMode プロパティを
プロパティウィンドウに表示されないようにしたい。
( MyMaskedTextBox クラスのインスタンスから
  直接 ImeMode プロパティを操作できないようにしたい)です。

[ツリー表示へ]
タイトルRe: 継承されたメンバーの一部を隠す方法
記事No4322
投稿日: 2006/09/27(Wed) 02:49
投稿者
手元に開発環境がないのですが、peotectedとshadowsキーワードでもしかしたらシャドーできるかもしれません
(ベースのImeModeの方に解決されるかもしれませんが)

ただしもし出来たとしてもクラスベースOOPからすれば推奨されない動作になると思います;

[ツリー表示へ]
タイトルRe: 継承されたメンバーの一部を隠す方法
記事No4323
投稿日: 2006/09/27(Wed) 07:43
投稿者うなまな
属性を指定すればできますね。

<System.ComponentModel.Browsable(False)> _
Public Shadows Property ImeMode() As ImeMode
        ...
End Property

<System.ComponentModel.Browsable(False)> _
Public Overrides Property Text() As String
        ...
End Property

> MaskedTextBox クラスを継承して
> MyMaskedTextBox という新しいクラスを作成するのですが、
> TextBox のプロパティ・メソッド・イベントの内
> 使用しないものは隠したいです。
> (プロパティウィンドウに表示されないようにしたい。)
> このようなことは可能でしょうか?
>
>
> Public Class MyMaskedTextBox
>   Inherits System.Windows.Forms.TextBox
>
>   Public m_aaa As Integer
>
>   Public Property aaa() As Integer
>     Get
>       Return m_aaa
>     End Get
>     Set(ByVal value As Integer)
>       m_aaa = value
>     End Set
>   End Property
>
> End Class
>
> 上のようにすると
> プロパティウィンドウに aaa が表示されます。
> それは良いのですが、
> 逆に、たとえば、 ImeMode プロパティを
> プロパティウィンドウに表示されないようにしたい。
> ( MyMaskedTextBox クラスのインスタンスから
>   直接 ImeMode プロパティを操作できないようにしたい)です。

[ツリー表示へ]
タイトルRe^2: 継承されたメンバーの一部を隠す方法
記事No4324
投稿日: 2006/09/27(Wed) 09:14
投稿者魔界の仮面弁士
>> TextBox のプロパティ・メソッド・イベントの内
メソッドも、という事は、コードウィンドウの話かな?


> 属性を指定すればできますね。
> <System.ComponentModel.Browsable(False)> _
> Public Shadows Property ImeMode() As ImeMode

ちなみに、
  Browsable属性 …… デザイナ(PropertyGrid)への表示を行うかどうか
 EditorBrowsable属性 …… エディタの IntelliSense での表示を行わせるかどうか
 DesignerSerializationVisibility属性 …… プロパティ値を保存させるかどうか
となります。

[ツリー表示へ]
タイトルRe: 継承されたメンバーの一部を隠す方法
記事No4356
投稿日: 2006/09/29(Fri) 13:25
投稿者お助けされマン
なんとか解決できました。
ありがとうございます。

[ツリー表示へ]