- ベストアンサー
VB.NETで、あるプロパティが変更されたら発生するイベント?
Khazadの回答
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
- 締切済み
- Visual Basic
- コントロールにイベントを発生させるには?
VB.NET2005のWEBユーザーコントロールで下記のようにプロパティやメソッドをつくることはできたのですが、コンボボックスの選択がへんこうされたとか、テキストボックスの内容が変更されたとかのイベントをとることができません。いったいどうすればできるのでしょうか? Public Property TEST() As String Get Return "" End Get Set(ByVal value As String) _Test=value End Set End Property
- ベストアンサー
- Visual Basic
- コントロールのプロパティー値をコードで変更したい
アクティブ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 は描画サイズと解釈するべきなのでしょうか? このあたりのことは書籍やネットでもあまり取り上げられない問題なので、 詳細をご掲示頂けると幸いです。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 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
- ベストアンサー
- Visual Basic
- 【VB.NET】カスタムコントロールのプロパティ
お世話になっております カスタムコントロールのプロパティについて質問です InputManのGcTextBoxを継承したカスタムコントロールを作成しました。 カスタムコントロールにはPublicのプロパティがあり、その中で必要がなくなったプロパティがあるため削除しました。 しかし、削除するとカスタムコントロールを使用しているFormのDesignerファイルで多数のエラーが出ており、見てみると削除したプロパティの設定が残っていました。 designerファイルを一つ一つ開いて消そうと思いましたが、かなり多いため非常に手間がかかります。 そこで相談なんですが、なにか一括、もしくは自動で消す方法等あればご教授願います。 ちなみに環境はVisualStudio2008でコントロールはInputMan for Windows Forms 6.0jを使用しています。
- ベストアンサー
- Visual Basic
- ドライブのプロパティ設定
ドライブのプロパティ設定(自動再生部分)を変えようと思い、エクスプローラーでドライブのプロパティ-自動再生を変更し、「適用」「OK」を押して、変更しましたが、有効になりません。再度、プロパティの設定を確認したところ、元の設定に戻っていました。なぜ、有効にならないのか、有効にする方法を教えてください。(デジカメをPCに取り込む際フォルダ表示がされてしまっているので、プロパティ「動作を毎回設定する」に変更させたいのです。)
- 締切済み
- Windows XP
- クラス・メソッド・プロパティについて
質問の閲覧ありがとうございます、是非回答お願い致します。 前々からプロミングに興味があったのですが、敷居が高そうという勝手な思い込みから、手を出せずにいましたが 先週ごろからVB.netの方を少しずつではありますが勉強し始めました。 色々なサイトを参考に実際キーボードを叩きながら四苦八苦している最中なのですが、クラス(インスタンシング)・メソッド・プロパティで壁にぶち当たりました TextBox1.AppendText("Hello!!") PictureBox1.Image = Image.FromFile(File1) 上記のコードでいう「AppendText」はメソッド「Image」はプロパティ だと思うのですが、 1:クラス名(orインスタンス)+メソッド 2:何らかの値+メソッド 3:特殊なパターン(MsgBoxなど) これは上記のどのパターンにあてはまるのでしょうか (TextBoxやPictureBoxはクラスとして扱われる・・・?) また、インスタンス化しないと使用できないもの、またその逆の判別が中々付きません 共有・非共有メンバと書かれていたりするのですが、明確な意味がわからず頭を悩ませています 例として、 Graphicsのdrawlineを使用する時にはインスタンス化しなくても描画が可能であるのに、乱数を範囲指定で出したい時にはインスタンス化が必要 など、どちらも値を指定して・・・という内容なのに・・と思ってしまいます 文がわかりにくく、質問の内容も幼稚で申し訳ありませんが、 馴染みのない私にとっては難関なので是非とも 質問内容も含め、クラス(インスタンス)、メソッド、プロパティについてご教授ください、よろしくお願い致します
- 締切済み
- Visual Basic
- 次の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()
- ベストアンサー
- C・C++・C#
- TreeViewの質問です(access)
<環境>access2007 vbで開発したシステムをaccessに乗せ換えています。 そこで質問が2点あります。 (1)定数を読み取るには? TreeViewのMouseMoveイベントで If Button = vbLeftButton Then としたいのですが、コンパイルエラーとなります。エラー:変数が定義されていません。 「vbLeftButton 」の定数を読み取るにはどうすればいいのでしょうか? 参照設定でしょうか? (2)TreeViewのプロパティが参照できない TreeViewコントロールで以下のプロパティが参照できません。 こちらも参照設定でしょうか? ・TreeViewオブジェクト.DragIcon ・TreeViewオブジェクト.Drag ・TreeViewオブジェクト.DropHighlight よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)