• ベストアンサー

VB.NETで、あるプロパティが変更されたら発生するイベント?

Khazadの回答

  • ベストアンサー
  • Khazad
  • ベストアンサー率30% (17/56)
回答No.1

RootプロパティのSETでDrowを呼べばいいだけの話では?

関連するQ&A

  • VB.NET 自作プロパティが変更されたらイベント

    お世話になります。 ご回答宜しくお願いします。 現在VBでDLLプログラムを開発しております。 以下簡単な仕様です。 DLLで自作のプロパティ( SelectedFlg )と、 SelectedFlgが変更された時に発生するイベントを追加しました。 親システムからVBのDLLを呼び出し、親システムがSelectedFlgの値を変更すると DLL内でイベントを感知し、処理をするというような感じです。 例えば、親システムへDLLをパネルとして2つ( A , B )貼り付け Aをクリックすると、AのSelectedFlgをTrueに、BのSelectedFlgをFalseにして Trueの方はBackColorを赤、Falseの方はBackColorを白 のような形にしたいと考えてます。 しかし、実行してみると BackColorが反映されるのは、初期値を設定した時の1度のみでした。 その後クリックしても、BackColorが変化することはありません。 どこか間違いや思い違いがあるんでしょうか。 以下コードになります。  ・・・OriginalControlクラス・・・ Public Class OriginalControl   Public Event SelectedValueChanged(ByVal sender As Object, ByVal e As EventArgs)   Protected Sub OnSelectedValueChanged(ByVal e As EventArgs)     RaiseEvent SelectedValueChanged(Me, e)   End Sub   Public Property SelectedFlg() As Boolean     Get       Return m_SelectedFlg     End Get     Set(ByVal value As Boolean)       m_SelectedFlg = value       Me.OnSelectedValueChanged(New EventArgs)     End Set   End Property   Private m_SelectedFlg As Boolean End Class ・・・Panel・・・ OriginalControlクラスを継承したControl ( 省略 )     Private Sub Panel_SelectedValueChanged(ByVal sender As System.Object,                               ByVal e As System.EventArgs)                               Handles MyBase.SelectedValueChanged       If Me.SelectedFlg = True Then         setBackColor( Color.Red )       Else         setBackColor( Color.White )       End If     End Sub

  • コントロールにイベントを発生させるには?

    VB.NET2005のWEBユーザーコントロールで下記のようにプロパティやメソッドをつくることはできたのですが、コンボボックスの選択がへんこうされたとか、テキストボックスの内容が変更されたとかのイベントをとることができません。いったいどうすればできるのでしょうか? Public Property TEST() As String Get Return "" End Get Set(ByVal value As String) _Test=value End Set End Property

  • コントロールのプロパティー値をコードで変更したい

    アクティブXコントロールのオブジェクトのプロパティーを手作業で変更するのではなくて、 マクロのコードで変更できればいいと思うのですが、コードの書き方がさっぱりわかりません。 私がやりたことは 下の画像にあるバーコードのコントロールのValueプロパティの値をVBAのコードで指定したい ということです。 一体、どんな書き方をすればいいんでしょうか? できればズバリのコードをそのまま提示して欲しいです。

  • ID3DXSprite::Drawメソッドに関しての質問です。

    ID3DXSprite::Drawメソッドに関しての質問です。 Drawメソッドの第2引数は CONST RECT* と定義されており、ここに描画される有効範囲を指定します。 このRECT構造体に添付の画像の様に800x600のサイズのテクスチャを描画範囲と指定する場合、 (0,0)(800,600)と指定すると、結果的に幅は801pixl,高さは601pixlとなると考え、 (0,0)(799,599)と指定しました。しかし、この様に指定すると、実際には799x599pixlとして 描画されてしまいます。 ID3DXSprite::Drawメソッドの描画範囲を指定する第2引数は RECT.top、RECT.left は切り取り位置、 RECT.right、RECT.bottom は描画サイズと解釈するべきなのでしょうか? このあたりのことは書籍やネットでもあまり取り上げられない問題なので、 詳細をご掲示頂けると幸いです。 よろしくお願いします。

  • VB.netでコレクションを変更させないようにするには

    C#、VB.net(.net framework 2.0)で開発しております。 FamilyクラスのListフィールド_peopleには外部からの変更操作(Add、Remove等)を許可したくないのですが、 以下のようにReadOnlyのプロパティを設けても、代入操作はできないもののコレクション自体への変更は可能となってしまいます。 ※family.People.Add(mem) 等 IListやICollectionインターフェースをImplementして独自のコレクションを作り、 AddやRemoveメソッド内で例外を投げたりすることも考えたのですが、 そもそもコンパイルを通したくありません。 こういった場合、どのように実装するのが定石でしょうか? 宜しくお願い致します。 以下コード例 Public Class Family Dim _people As List(Of Member) Public ReadOnly Property People() As Member Get Return _people End Get End Property End Class

  • 【VB.NET】カスタムコントロールのプロパティ

    お世話になっております カスタムコントロールのプロパティについて質問です InputManのGcTextBoxを継承したカスタムコントロールを作成しました。 カスタムコントロールにはPublicのプロパティがあり、その中で必要がなくなったプロパティがあるため削除しました。 しかし、削除するとカスタムコントロールを使用しているFormのDesignerファイルで多数のエラーが出ており、見てみると削除したプロパティの設定が残っていました。 designerファイルを一つ一つ開いて消そうと思いましたが、かなり多いため非常に手間がかかります。 そこで相談なんですが、なにか一括、もしくは自動で消す方法等あればご教授願います。 ちなみに環境はVisualStudio2008でコントロールはInputMan for Windows Forms 6.0jを使用しています。

  • ドライブのプロパティ設定

    ドライブのプロパティ設定(自動再生部分)を変えようと思い、エクスプローラーでドライブのプロパティ-自動再生を変更し、「適用」「OK」を押して、変更しましたが、有効になりません。再度、プロパティの設定を確認したところ、元の設定に戻っていました。なぜ、有効にならないのか、有効にする方法を教えてください。(デジカメをPCに取り込む際フォルダ表示がされてしまっているので、プロパティ「動作を毎回設定する」に変更させたいのです。)

  • クラス・メソッド・プロパティについて

    質問の閲覧ありがとうございます、是非回答お願い致します。 前々からプロミングに興味があったのですが、敷居が高そうという勝手な思い込みから、手を出せずにいましたが 先週ごろからVB.netの方を少しずつではありますが勉強し始めました。 色々なサイトを参考に実際キーボードを叩きながら四苦八苦している最中なのですが、クラス(インスタンシング)・メソッド・プロパティで壁にぶち当たりました TextBox1.AppendText("Hello!!") PictureBox1.Image = Image.FromFile(File1) 上記のコードでいう「AppendText」はメソッド「Image」はプロパティ だと思うのですが、 1:クラス名(orインスタンス)+メソッド 2:何らかの値+メソッド 3:特殊なパターン(MsgBoxなど) これは上記のどのパターンにあてはまるのでしょうか (TextBoxやPictureBoxはクラスとして扱われる・・・?) また、インスタンス化しないと使用できないもの、またその逆の判別が中々付きません 共有・非共有メンバと書かれていたりするのですが、明確な意味がわからず頭を悩ませています 例として、 Graphicsのdrawlineを使用する時にはインスタンス化しなくても描画が可能であるのに、乱数を範囲指定で出したい時にはインスタンス化が必要 など、どちらも値を指定して・・・という内容なのに・・と思ってしまいます 文がわかりにくく、質問の内容も幼稚で申し訳ありませんが、 馴染みのない私にとっては難関なので是非とも 質問内容も含め、クラス(インスタンス)、メソッド、プロパティについてご教授ください、よろしくお願い致します

  • 次のVB.netのコードをC#で書くには?

    以下のようなVB.netのコードをC#で書く場合、どのように書けばよいのでしょうか? ・Class1とClass2は同じメソッド、プロパティを持つ ・Class1とClass2は提供されたものなので変更することができない 環境はVisualStudio2005です。 --------------------- Dim blnFlg As Boolean = True Dim objClass As Object If blnFlg = True Then objClass = New Class1 Else objClass = New Class2 End If 'ここから無数のメソッド、プロパティを呼び出す objClass.TestMethod() objClass.TestProperty()

  • TreeViewの質問です(access)

    <環境>access2007 vbで開発したシステムをaccessに乗せ換えています。 そこで質問が2点あります。 (1)定数を読み取るには?  TreeViewのMouseMoveイベントで If Button = vbLeftButton Then  としたいのですが、コンパイルエラーとなります。エラー:変数が定義されていません。  「vbLeftButton 」の定数を読み取るにはどうすればいいのでしょうか?  参照設定でしょうか? (2)TreeViewのプロパティが参照できない  TreeViewコントロールで以下のプロパティが参照できません。  こちらも参照設定でしょうか?  ・TreeViewオブジェクト.DragIcon  ・TreeViewオブジェクト.Drag  ・TreeViewオブジェクト.DropHighlight よろしくお願いします。