- PR -

VS 2005 + C#.NETでコードビューからイベントハンドラを登録する方法

1
投稿者投稿内容
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-08-11 06:22
C#.NETの初心者です。

VS 2005/Pro, ASP.NET, C#.NETの環境でWebページを作成しているのですが、コードビューからGridViewなどのイベントハンドラを作成することできますか。

VB.NETでは、コードビューのドロップダウンリストからGridViewなどのオブジェクトとイベントを選択してイベントハンドラが生成できます。

ところが、C#.NETではコードビューのドロップダウンリストにオブジェクトとイベントが表示されません。C#.NETでは、何か特別な設定が必要なのでしょうか。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-08-12 00:10
Visual C# はそこからイベントハンドラの生成ができないので、お手軽にやろうと思えばプロパティウィンドウの「稲妻マーク」から出来ますが、それは既にご存知でしたでしょうか。
_________________
囚人のジレンマな日々
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-08-12 05:49
引用:

Visual C# はそこからイベントハンドラの生成ができないので、お手軽にやろうと思えばプロパティウィンドウの「稲妻マーク」から出来ますが、それは既にご存知でしたでしょうか。


囚人さんありがとうございます。

言語によって、VS 2005の仕様が異なるとは知りませんでした。

確かに、プロパティウィンドウからイベントハンドラの一覧を表示して、ダブルクリックすると自動生成されます。

ところが、マスタページを参照するWebページなどを作成するとき、プロパティウィンドウにPageクラスのイベントハンドラが表示されません。プロパティウィンドウに、イベントハンドラが表示されないときは、コードビューから手入力するしかないのでしょうか。
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-08-12 13:50
引用:

Accessさんの書き込み (2006-08-12 05:49) より:

確かに、プロパティウィンドウからイベントハンドラの一覧を表示して、ダブルクリックすると自動生成されます。



ちなみにプロパティウィンドウで登録したイベントを削除するときは、必ずプロパティウィンドウから削除した方が良いです。

そうでないと、自動生成された「触っちゃいけないコード」を編集しなければならなくなるので。

よくコードエディタでメソッドだけ削除しちゃいがちなのです。orz

#皆さんお仕事されているんでしょうか?、ボクはお仕事です orz


[ メッセージ編集済み 編集者: R・田中一郎 編集日時 2006-08-12 13:51 ]
object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2006-08-12 15:18
objectです。
>Accessさん
>言語によって、VS 2005の仕様が異なるとは知りませんでした。
VBは「VS 2005」で最もマトモになりました。
MSのVB開発者は
「イベントの範疇がプロパティである事」
を理解していないと私は思います。

>確かに、プロパティウィンドウからイベントハンドラの一覧を表示して、ダブルクリックすると
>自動生成されます。
イベントへのハンドラ登録は、本来
「ハンドラをイベントを持つコンポーネント・コントロールに永続化する事」
ですから、この操作が最も自然だと思います。

>ところが、マスタページを参照するWebページなどを作成するとき、プロパティウィンドウにPage
>クラスのイベントハンドラが表示されません。プロパティウィンドウに、イベントハンドラが表示
>されないときは、コードビューから手入力するしかないのでしょうか。
状況依存であり、今一般的な事は何も言えないと思います。
ただ、MSでのVB開発者の活躍が大きくなるに従って、
VSを初め、混乱が大きくなる様な気がしています。
コンポーネント・コントロールの質も下がって来ると私は懸念しています。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-08-12 22:34
引用:

ちなみにプロパティウィンドウで登録したイベントを削除するときは、必ずプロパティウィンドウから削除した方が良いです。

そうでないと、自動生成された「触っちゃいけないコード」を編集しなければならなくなるので。


R・田中一郎さん回答ありがとうございます。

ご指摘の件ですが、VS 2005でも同じ問題が反省するのでしょうか。私は、コードビューからイベントハンドラを削除するのが癖になっています。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-08-12 23:02
引用:

VBは「VS 2005」で最もマトモになりました。


初心者が、VB 2005からC# 2005に移行するとイベントハンドラの登録で
つまづきそうですね。

VB 2005なら、コードビューからPageクラスのイベントをクリックすると自動生成
されるのに。

初心者はやはり、VB 2005から始めるべきでしょうかね。


引用:

イベントへのハンドラ登録は、本来
「ハンドラをイベントを持つコンポーネント・コントロールに永続化する事」
ですから、この操作が最も自然だと思います。


同感です。

やはり、Webページをデザインビューで表示したときに
Webページ(Page)のプロパティウィンドウが表示されないのは仕様的に
不自然のような気がします。

object
ぬし
会議室デビュー日: 2002/03/20
投稿数: 338
お住まい・勤務地: 香川県高松市
投稿日時: 2006-08-13 14:48
objectです。

>Accessさん
>「VBは「VS 2005」で最もマトモになりました。」
少し言葉が足りなかったですかね。
これは、「イベント」に限った話です。

>初心者が、VB 2005からC# 2005に移行するとイベントハンドラの登録で
>つまづきそうですね。
ええ、私もそう思います。
重要なのは
「イベントの意味」
だと思いますが、
「それは置き去りにし、従来のやり方は絶対に変えない」
訳ですから、「VBだけで学習した人」は必ず戸惑うと思います。

変化を考えた場合、
変化の中に「一貫したものがある」からこそ、理解出来るんだと思います。
ツール中心の言語は、その意味が明確になった時点で、
「表現の不完全さ」
が問題になりますが、
ここで、この表現を変更出来ない(しない)言語ではいずれ致命傷になると思います。
いつ表面化するのかは、時間の問題でしょうね。

>VB 2005なら、コードビューからPageクラスのイベントをクリックすると自動生成
>されるのに。
ええ、この「自動生成」も
イベント(デリゲート)をベースにしているからこそ出来るんですよね。

>初心者はやはり、VB 2005から始めるべきでしょうかね。
「初心者」がソフトウエアの初心者であれば、
先ず、
「ソフトウエアを支える一貫したものを得る事」
が重要だと思います。
勿論、「VB」を使うのであれば「VB.NET]を知る必要がある訳ですから、
「VB 2005」でしょうかね。
VBの一貫性は
「考え方では無く、書き方に関したもの」
と考える事が大事だと思います。
#考え方という意味では寧ろ破綻している?

>やはり、Webページをデザインビューで表示したときに
>Webページ(Page)のプロパティウィンドウが表示されないのは仕様的に
>不自然のような気がします。
私も同感です。

Web自体が新しいですし、
オブジェクト指向がツール・プログラミングレベル
という印象を私は受けます。
これは、結果として
「今後かなりの変化を強いられる」
という事だと私は理解しています。
1

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