複数個のボタンのTextプロパティをかえる。 – プログラミング – Home

複数個のボタンのTextプロパティをか...
 
通知
すべてクリア

複数個のボタンのTextプロパティをかえる。


ym
 ym
(@ym)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

環境 Windows 2000,VB.NET

複数個(70~80)のボタンを画面に配置し、このボタンのプロパティのTextをコントロー

ル配列を用いて変えたかったのですが(For文などで回して)しかし、.NETではコントロ

ール配列のindexというものが存在しません。何か良い方法はないでしょうか?

現在のソースコード
Button1.Text=AAA
Button2.Text=BBB
Button3.Text=CCC
   ・
   ・
   ・
Button80.Text=ZZZ


引用解決済
トピックタグ
べーちゃん
 べーちゃん
(@べーちゃん)
ゲスト
結合: 23年前
投稿: 49
 

ymさん、こんにちは。

難題ですね。
プロジェクトはWindowsとWebのどちらなんですか。

また、
>Button1.Text=AAA
>Button2.Text=BBB
>Button3.Text=CCC

この割り当てるテキストには
1.割り当てる以前のテキストと何か関連性があるんですか。
  Button1.Text A->A1
  Button2.Text X->X1
2.ボタン番号と何か関連性があるんですか。
  Button1.Text A
  Button2.Text B
3.前述の1と2の両方と関連がある
4.関連はないが、テキストを配列にして格納している。

のいずれでしょう。

しかし、いずれにせよ。できればそのような書き換えのない
プログラム構成が最良なんですが。


返信引用
ym
 ym
(@ym)
ゲスト
結合: 22年前
投稿: 3
 

ボタン表示用の配列を作成しています。ヘルプ等で調べたところ、TabindexやTagプロパティを
 
使ったら出来るように書いてあったのですが・・


返信引用
べーちゃん
 べーちゃん
(@べーちゃん)
ゲスト
結合: 23年前
投稿: 49
 

ymさん、こんにちは。

.NETの場合プロジェクトがWindowsかWebかで方法が異なります。

>ボタン表示用の配列を作成しています。ヘルプ等で調べたところ、Tabindexや
>Tagプロパティを使ったら出来るように書いてあったのですが・・

まあTagが使えるということはWindowsなんでしょうね。
私は該当するヘルプを見ていないので、もっとよい方法があるかもしれませんが
Windowsのプロジェクトであれば、該当するボタンのTagプロパティに
1からインデックスとなる番号を設定し、次のルーチンを使えば実現できる
はずです。

>Dim strTexts() As String = {", ABC, DEF, GHI, JKL}
>Dim ctl As Control
>Dim btn As Button
>
>For Each ctl In Controls
> If TypeOf ctl Is Button Then
> btn = CType(ctl, Button)
> If Val(btn.Tag) <> 0 Then
> btn.Text = strTexts(Val(btn.Tag))
> End If
> End If
>Next ctl

ところで、ヘルプを調べられたのでしたら、その方法を試してみられましたか。
まず自分で調べて色々試してみる、それでもだめならわからないところをきく
というのが最低限のマナーですよ。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました