tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルリストボックスに配列の結果を表示させたいのですが・・・
記事No10399
投稿日: 2011/01/11(Tue) 10:50
投稿者PAO
現在ピクチャーボックスをクリックするごとに配列に座標を入れて
リストボックスにその入ったものを表示させたいのですが
現在下記のプログラムで表示はできるのですが
Dim s$
For Index = 0 To nInputPoint(bodyIndex) - 1
s$ = String.Format("x={0:###},y={1:###}",
InputPosition(Index, bodyIndex,0),InputPosition(Index,bodyIndex, 1))
            lbxInputDataatama.Items.Add(s$)
        Next
    End Sub

これでやると
1回目クリック→配列の0番目表示
X=123,Y=23
2回目クリック→配列の0,1番目表示
X=123,Y=23
X=124,Y=24
3回目クリック→配列の0,1,2番目表示
X=123,Y=23
X=124,Y=24
X=125,Y=25
最終的に3回クリックしてリストボックス内は
X=123,Y=23
X=123,Y=23
X=124,Y=24
X=123,Y=23
X=124,Y=24
X=125,Y=25
となってしまいます

自分としてはクリックした所を一つ一つ座標を表示させていきたいのですが
3回クリックしたらリストボックスには
X=123,Y=23
X=124,Y=24
X=125,Y=25
と表示させたいのですがどうすればいいでしょうか?

[ツリー表示へ]
タイトルRe: リストボックスに配列の結果を表示させたいのですが・・・
記事No10400
投稿日: 2011/01/11(Tue) 11:37
投稿者魔界の仮面弁士
> 配列に座標を入れて
コード中の
 nInputPoint / bodyIndex / InputPosition
は、それぞれ何を表しているのでしょうか?

> 1回目クリック→配列の0番目表示
> 2回目クリック→配列の0,1番目表示
> 3回目クリック→配列の0,1,2番目表示
毎回、0番から始めている理由は何でしょうか?

> 自分としてはクリックした所を一つ一つ座標を表示させていきたいのですが
(案1)ListBoxに登録する前に、.Items.Clear() を実行しておく。
(案2)n回目のクリック時には、0〜n番目を登録するのではなく、n番目だけを登録する。
(案3).Items.Add の代わりに、.DataSource に配列データを渡すようにする。

[ツリー表示へ]
タイトルRe^2: リストボックスに配列の結果を表示させたいのですが・・・
記事No10401
投稿日: 2011/01/11(Tue) 13:58
投稿者PAO
案1の.Item.clearで解決いたしました。
ありがとうございます!!
   

[ツリー表示へ]