- PR -

ボタンのアクションイベントについて

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-08 11:56
引用:

sarahさんの書き込み (2006-03-08 11:25) より:

「'System.NullReferenceException' のハンドルされていない例外が
 不明なモジュールです。 で発生しました。
 追加情報 : オブジェクト参照がオブジェクト インスタンスに設定されていません。」
というエラーダイアログが出力するのですが、何か特別制御が必要なのでしょうか?


そのような例外は確認できません。
ContextMenu がローカル変数になっていないだけじゃないでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
うにくま
ベテラン
会議室デビュー日: 2005/11/05
投稿数: 82
投稿日時: 2006-03-08 12:27
ContextMenuをローカル変数として宣言していますが、
同様の例外が発生することを確認しました。
原因は分かりませんが。。。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-08 12:43
引用:

うにくまさんの書き込み (2006-03-08 12:27) より:

ContextMenuをローカル変数として宣言していますが、
同様の例外が発生することを確認しました。
原因は分かりませんが。。。


私のところでは、どれだけ連打しても起きませんね... (^-^;)
ためしに、For ステートメントでも 100 回ほど実行しましたが起きませんでした。

実装方法も同じであれば、原因は何なのか皆目検討がつきません。
NullReferenceException が起きているのは、ContextMenu ですよね?

  (そういえば似たような現象をどこかのスレッドで見かけたような...)
  。o O
( ´-`)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
sarah
常連さん
会議室デビュー日: 2006/02/08
投稿数: 32
投稿日時: 2006-03-08 14:16
連打については、制御する処理を追加して発生を抑えました。
追加で質問させてください。

ContextMenuオブジェクトにMenuItemを動的に追加したいのですが、
その際、選択されたメニュー項目のイベントをどのように取得すれ
ばよいでしょうか?
また、コンボボックスのように表示用とは別にコードとセットで
登録することはできるのでしょうか?

Dim hContextMenu As New ContextMenu
Dim test01 As New MenuItem
test01.Text = "ほげほげ"
hContextMenu.MenuItems.Add(test01)

囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-03-08 14:28
コード:
Dim hContextMenu As New ContextMenu 
Dim test01 As New MenuItem 
AddHandler test01.Click, AddressOf Me.test01_Click
test01.Text = "ほげほげ" 
hContextMenu.MenuItems.Add(test01)

test01_Click <- イベントハンドラ


こんな感じだと思います.

引用:

連打については、制御する処理を追加して発生を抑えました。


原因が判明していないのにいいのかな.

引用:

また、コンボボックスのように表示用とは別にコードとセットで
登録することはできるのでしょうか?


どういう意味でしょう.


_________________
囚人のジレンマな日々
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-03-08 14:35
引用:

sarahさんの書き込み (2006-03-08 14:16) より:

連打については、制御する処理を追加して発生を抑えました。


どのように抑えましたか?
現状どのような実装になっていますか?

引用:

ContextMenuオブジェクトにMenuItemを動的に追加したいのですが、
その際、選択されたメニュー項目のイベントをどのように取得すればよいでしょうか?


Click イベントは取得できなかったかな。

引用:

また、コンボボックスのように表示用とは別にコードとセットで
登録することはできるのでしょうか?


Tag プロパティなのが欲しいのでしょうか。
メニューを仮想化したリストで保持すると良いでしょう。

# 色々と被ったので編集。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
sarah
常連さん
会議室デビュー日: 2006/02/08
投稿数: 32
投稿日時: 2006-03-08 14:59
引用:

じゃんぬねっとさんの書き込み (2006-03-08 14:35) より:

どのように抑えましたか?
現状どのような実装になっていますか?


処理の頭でフラグ(True/False)を判断するといった古典的な連打禁止処理を
実装しています。

引用:

じゃんぬねっとさんの書き込み (2006-03-08 14:35) より:

Click イベントは取得できなかったかな。


ContextMenuのClickイベントですか?



[ メッセージ編集済み 編集者: sarah 編集日時 2006-03-08 15:24 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-03-08 21:32
 “押下”というところから考えてしまった。。。

ComboBox を DoropDownList 形式にして、アイコンをイメージとして貼り付ける。。。
Where's the ImageCombo control?
Implementing an OwnerDrawn ComboBox
→[urlhttp://www.codeproject.com/vb/net/ImagesComboBox.asp]ImagesComboBox Control[/url]

スキルアップ/キャリアアップ(JOB@IT)