C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: Form上にあるコントロールの種類の判断


(過去ログ 13 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■3976 / inTopicNo.1)  Form上にあるコントロールの種類の判断
  
□投稿者/ poteto (1回)-(2007/05/30(Wed) 16:46:41)

分類:[C# (Windows)] 

C# 2005 で開発しています。

タイトル通り、Form上に貼り付けてあるコントロールの種類を取得したいと考えています。
「label」や「text」 といった種類を取得して、これを元に
if文等でループ中の処理を分岐させてあげたいと考えています


下記のようにControlsを使用すると任意につけたコントロール名は取得できるところまでは
わかったのですが、種類を取得する方法がわからないので教えていただければと思います。


string i;
foreach (Control c in this.Controls)
{
i = c.Name;
}


以上、よろしくお願いします。

引用返信 編集キー/
■3978 / inTopicNo.2)  Re[1]: Form上にあるコントロールの種類の判断
□投稿者/ ぽぴ王子 (209回)-(2007/05/30(Wed) 17:02:44)
ぽぴ王子 さんの Web サイト
No3976 (poteto さん) に返信
> C# 2005 で開発しています。
> 
> タイトル通り、Form上に貼り付けてあるコントロールの種類を取得したいと考えています。
> 「label」や「text」 といった種類を取得して、これを元に
> if文等でループ中の処理を分岐させてあげたいと考えています

たとえばこんな感じ。

  foreach (Control c in this.Controls)
  {
    Console.WriteLine("{0} {1}", c.Name, c.GetType().Name);
  }

でも、if で判断するなら、こんな感じの方がいいかもですね。


  foreach (Control c in this.Controls)
  {
    if (c is Label)
    {
      Console.WriteLine("ラ・ヴェール!");
    }
    else if (c is Button)
    {
      Console.WriteLine("ぼったん!");
    }
  }

引用返信 編集キー/
■3979 / inTopicNo.3)  Re[2]: Form上にあるコントロールの種類の判断
□投稿者/ poteto (3回)-(2007/05/30(Wed) 17:21:30)
早い回答ありがとうございます。

こちらでも動作確認できました。

助かりました!


解決済み
引用返信 編集キー/
■3984 / inTopicNo.4)  Re[3]: Form上にあるコントロールの種類の判断
□投稿者/ 渋木宏明(ひどり) (224回)-(2007/05/30(Wed) 18:50:36)
渋木宏明(ひどり) さんの Web サイト
動的にやるより、配列で持っていた方がいいかもしれません。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -