- PR -

コントロールの比較

1
投稿者投稿内容
どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-10-28 15:05
vs2005 winxp winform
InputMan for .NET 4.0J

いつも拝見しております。

1つ質問があります。

コントロール同士を比較するというのは可能でしょうか???

フォームにある、コントロールを全部取得し、指定したコントロールのプロパティを設定したいのです。
変更したいテキストや、コンボボックスはInputMan for .NET 4.0J を使用しています。

For Each ctrl As Windows.Forms.Control In me.Controls
'フォームのコントロールを取得
If ***************** Then 
'指定のコントロール(コンボボックス)だった場合
CType(ctrl, GrapeCity.Win.Input.Combo).HighlightText = False
End If
Next

現状、if分のところで、ctrl.Name.IndexOf()でコントロールの名前でみているのですが、違う方法で判断できないものかと思い、書き込みしました。

もし、違う方法で比較とかをしているかたがいらっしゃいましたら、ご教授お願いいたします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-10-28 17:33
型で判断するなら
コード:
If TypeOf ctrl Is GrapeCity.Win.Input.Combo Then


って言う手もありますね
どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-10-28 18:25
かるあさん、返答ありがとうございます。

名前で、比較するより、型で比較したほうが、安全ですよね。

引用:

If TypeOf ctrl Is GrapeCity.Win.Input.Combo Then



で、コントロールの型で判定することができました。

ありがとうございました。また、何かありましたらご教授お願いいたします。
ダッチ
大ベテラン
会議室デビュー日: 2005/10/31
投稿数: 113
投稿日時: 2006-10-28 22:16
型でよいならばこういう方法もあります。

If ctrl.GetType Is GetType(GrapeCity.Win.Input.Combo) Then

指定したが何を指定した不明でしたが、
インスタンスで比較がよいならば

If ctrl Is 指定したコントロール Then

と「Is」で比較する方法もあります。

[ メッセージ編集済み 編集者: ダッチ 編集日時 2006-10-28 22:19 ]
どら
ベテラン
会議室デビュー日: 2004/08/18
投稿数: 63
投稿日時: 2006-10-30 18:06
ダッチさん、返答ありがとうございます。

引用:

If ctrl.GetType Is GetType(GrapeCity.Win.Input.Combo) Then

指定したが何を指定した不明でしたが、
インスタンスで比較がよいならば

If ctrl Is 指定したコントロール Then



という方法もあるんですね。勉強になりました。

今回は、コンボだったらすべてのコンボボックスのプロパティを変更したいので、
型でみることにしました。

ご教授ありがとうございました。
1

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