- PR -

C#でのボタンのオブジェクト or コントロールの取得

1
投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2008/07/11
投稿数: 182
投稿日時: 2008-08-20 15:28
こんにちは。C#超初心者です。

初歩的な質問で申し訳ありません。
同一Form上で複数ボタンが配置されていた場合のブレークポイントでのオブジェクト名の取得ですが、どのようにしたら良いのでしょうか?

private void btn1_Click(object sender, EventArgs e) {

Button targetButton = (Button)sender;

↑こう取得しているのですが、ブレークポイントを当てても、ボタン上に表示されるTextだけで、Object名など見当たらないのですがどのように取得すればよいのでしょうか?

初歩的な質問で申し訳ありません。
-------------------------------
VisualStadio 2005
WinXP SP3 Pro の環境です。
-------------------------------
よろしくお願いいたします。

[ メッセージ編集済み 編集者: 未記入 編集日時 2008-08-20 15:29 ]
ぱてお
常連さん
会議室デビュー日: 2008/03/07
投稿数: 41
投稿日時: 2008-08-20 16:35
何がしたくてオブジェクト名が必要なのでしょう?
その部分がわからないとなんともつかみどころがない話です。

提示されている例であれば、当然そこに来ている以上、
押されたボタンは明白なはずなので、特にオブジェクト名が必要な場面と言うのが
思いつきません。そもそもボタンコントロールに何かしたいなら
senderを対象にして操作すれば良いことですし。

で、簡単に確認して見たところではオブジェクト名と言うのは
そのボタンコントロールに対応するインスタンス名に使われているようなので
これを取り出す方法は無いのではと言う気がします。
なので、なぜ、それが必要なのかを提示すれば、
それはこのようにすれば解決できるよと言う話が出てきそうです。


[ メッセージ編集済み 編集者: ぱてお 編集日時 2008-08-20 16:46 ]
未記入
大ベテラン
会議室デビュー日: 2008/07/11
投稿数: 182
投稿日時: 2008-08-22 19:47
ありがとうございます。

ご指摘どおり確かに分かりずらいですね。
本当のところを言いますと同じボタンオブジェクトが複数配列で存在しており、
ブレークポイントで追おうとオブジェクト名が表示されないか方法をさがしておりました。

btnAryの配列で取得できました。これがC#標準の機能かも分かりませんが・・。
ありがとうございました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-08-22 22:48
引用:

未記入さんの書き込み (2008-08-22 19:47) より:

btnAryの配列で取得できました。これがC#標準の機能かも分かりませんが・・。


といきなり仰られても貴方以外の方はよくわからないと思うのですが... Button コントロールの配列を btnAry の中に格納していて、そちらを参照することにしたという意味でしょうか? いずれにしても C# 標準の機能ではないと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
大ベテラン
会議室デビュー日: 2008/07/11
投稿数: 182
投稿日時: 2008-08-23 01:04
上部で配列にくくっているのですね。ソースもまともに読めていない状態でして申し訳ありませんでした。
1

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