- PR -

自作コントロールにてイベントを生成する方法は…

1
投稿者投稿内容
next
会議室デビュー日: 2008/08/22
投稿数: 15
投稿日時: 2008-09-12 16:42
ListViewコントロールを使った自作コントロールを作成しています。
現在ListViewにitemが追加された際、itemをダブルクリックすると
そのitemの詳細情報が見られるformを表示するような機能を追加したい
と思っています。
それに伴い、itemのダブルクリックで発生するitemopenという自作イベントを
生成したいと考えているのですが、どうすれば生成できるのでしょうか?
分かる方いらっしゃいましたら宜しくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-09-12 17:07
引用:

nextさんの書き込み (2008-09-12 16:42) より:

ListViewコントロールを使った自作コントロールを作成しています。
現在ListViewにitemが追加された際、itemをダブルクリックすると
そのitemの詳細情報が見られるformを表示するような機能を追加したい
と思っています。
それに伴い、itemのダブルクリックで発生するitemopenという自作イベントを
生成したいと考えているのですが、どうすれば生成できるのでしょうか?


イベントを実装する場所がコンテナであるのに、特定の Item という実装はできません。 可能だとしてもデフォルト イベントは 1 つしかないので不適切です。 引数に Item のインスタンスを設定した ItemDoubleClick のようなイベントを作るだけに留めるのが適切だと思います (あくまで私の意見ですが)。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
masa
大ベテラン
会議室デビュー日: 2004/10/28
投稿数: 161
投稿日時: 2008-09-12 18:59
マイクロソフトのクラスデザインルールに則ると、つぎのような感じでしょうか。

1.ItemDoubleClick というイベントを定義します。

2.ItemDoubleClick を呼び出す OnItemDoubleClick メソッドを定義します。

3.ListView の DoubleClick イベントに、次のような処理を行うイベントハンドラを追加します。

・マウスカーソルから ListViewItem を取得。
・取得できればその ListViewItem を格納したイベントデータを作る。
・そのイベントデータを渡して OnItemDoubleClick を呼び出す。

next
会議室デビュー日: 2008/08/22
投稿数: 15
投稿日時: 2008-09-16 12:03
皆様、貴重な意見ありがとうございました。
おかげ様で解決に至りました。
またよろしくお願いします。
1

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