お世話になります。 ご回答宜しくお願いします。 現在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
↧