既存コントロールのコレクション登録

解決


Hisajyu  2006-05-16 05:25:56  No: 131434

いつもお世話になっております。 

現在Form上にTextBox1からTextBox10まで存在しています。 
現在行いたい作業は 
Enterキーを押した時点でTextBox1の内容が正しければTextBox2へ、正しくなければエラーメッセージを出しTextBox1から移動しないようにするです。 

この作業を1つのプロシージャでくくりたいと思っています。 
いろいろ検索してみてTextBox1〜TextBox10までをコレクション等に登録すれば出来そうなのですがなかなか完成に至りません。 
①動的に登録・配置するという方法ま見つかるのですが、既存のものを登録する方法がいまいちわからない。 
②登録後の使用法がわからない

いろいろ検索はしてみたのですがどれが自分に合うのかもわからず困っています。

超初歩的な質問で申し訳ございませんがどうぞよろしくお願いいたします。 

※VB2005使用


VB梅  2006-05-16 09:38:41  No: 131435

Hisajyu さんへ  こんにちわ
>作業を1つのプロシージャでくくりたいと思っています。
TextBox1〜TextBox10のイベントから、

>1つのプロシージャ
Private Sub Sub_Chek(ByVal TextBox As TextBox)
End Sub
にテキストコントロールを渡す,事くらいしか思いつかないです。


特攻隊長まるるう  2006-05-16 18:31:16  No: 131436

>※VB2005使用
[VB.NET2003]の知識で回答します。
[VB.NET]の場合、同じ種類のイベントは、Handless の後に
イベントを列挙することで実現可能です。その際、イベントが
起こったコントロールは引数(sender)で送られてきます。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200412/04120067.txt
>    ' 複数のコンボボックスのイベントを1つの関数で受け取る例
を参考にしてみてください。


Hisajyu  2006-05-16 20:19:23  No: 131437

VB梅様、特攻隊長まるるう様回答ありがとうございます。
教えていただいたリンク先等参考にさせていただき完成させたいと思います。

最後に今後の為に質問させてください。
いろいろ調べてみたときコントロールを作成する際、動的に配列を作成し配置する方法が沢山紹介されていたのですが、動的に作成・配置するほうがやはり良いのでしょうか。


特攻隊長まるるう  2006-05-16 21:19:16  No: 131438

自分で両方試してみないと、説明しても問題点が十分に分からないと思いますが…

>動的に配列を作成し配置する方法
いえ、配列が問題なのではなく、対象のコントロールが問題なのだと思います。
[VB6.0]では『コントロール配列』が作れます。正確な表現(単語)を使うよう
心掛けて下さい。

・動的にフォームにコントロールを追加する。
…何かの条件でコントロールの数を変える必要がある場合、どうします?
(既存のコントロールを必要最大数まで貼り付けて、非表示にしても良いが…)
……あとはコントロールの個数が100個くらいあると面倒ですよね?
(自分のレベルが低いなら100個の設定くらい我慢すべきですが…)
主にそんな時に使います。どうやれば実現できるか考えてみて下さい。

決め打ちでできるなら、既存のコントロールを1つ1つ設定する方が、難易度
は低めです。

目的と難易度に合わせて選んで下さい。


特攻隊長まるるう  2006-05-16 21:22:03  No: 131439

>目的と難易度に合わせて選んで下さい。
あと、VBのバージョンとかも影響するね。
使える手法が違いますから。


Hisajyu  2006-05-16 21:55:47  No: 131440

特攻隊長まるるう様回答ありがとうございます。
今VB6.0のコードを見ながら勉強のおよび今後の為にアップデートを使わずにVB2005に置き換えていました。その際にコントロール配列のところで引っかかり困っていたところでした。
もう少し勉強をし何とか解決していきたいと思います。


特攻隊長まるるう  2006-05-16 22:29:01  No: 131441

>その際にコントロール配列のところで引っかかり困っていたところでした。
なら、過去ログ検索『コントロール配列』とか?

>今VB6.0のコードを見ながら勉強のおよび今後の為にアップデートを使わずにVB2005に置き換えていました。
[Visual Basic 6.0 ユーザーのための Visual Basic .NET 移行ガイド]
http://www.microsoft.com/japan/msdn/net/vbtransitionguide/
[DOBON.NET  VB6との比較編メニュー]
http://dobon.net/vb/dotnet/vb6/
[じゃんぬねっと]←ここの Tips は言語を比較できる形になってます。
http://jeanne.wankuma.com/
[VBレスキュー(花ちゃん)]エクセルが出てきたらまずここへ
http://www.bcap.co.jp/hanafusa/


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加