数字と画像の処理について

タグの編集
投稿者 IO  (社会人) 投稿日時 2009/3/25 00:51:58
変数などの数字だけ画像を移動する処理を書いてるのですが、私のコードでは無駄に長くなってしまうので質問しにきました。
例えば、変数などの数字が1の場合は画像が1移動するという感じです。
私はifで書いてるのですがこれだと必要な数字分ElseIfを書かなくてはならなくて無駄にコードが長くなってしまうのです。
もう少し効率的でコンパクトなコードの書き方のコツを教えてください。

「開発環境」
VS2005EE
XP




        If Label1.txst = 1 Then

        PictureBox1.Location = New Point(1, 0)

        ElseIf Label1.txst = 2 Then

        PictureBox1.Location = New Point(2, 0)

        End If



よろしくお願いします。
投稿者 さなだ丸  (社会人) 投稿日時 2009/3/25 01:48:19
はっきりやりたい内容がわからないのですが、

        PictureBox1.Location = New Point(clng(Label1.text),0)

ということがやりたいんでしょうかね?
投稿者 さなだ丸  (社会人) 投稿日時 2009/3/25 01:50:07
追伸:上記のソースのままだと、ラベルに数字以外が入った場合にエラーになる可能性があります。
投稿者 ヴァン  (社会人) 投稿日時 2009/3/25 04:32:01
こんにちは、

基本的にLabelのTextは使用しないと思いますが、
NumericUpDownなどは如何でしょうか?

PictureBox1.Location = New Point(numericUpDown1.Value, 0)

かな?
投稿者 IO  (社会人) 投稿日時 2009/3/25 08:59:26
さなだ丸さんヴァンさん返信ありがとうございます。
私はPoint(0, 0)の()の中には数字しか使えないと思ってました。
ニ人のコードを見て()の中に変数を指定したら解決しました。
ありがとうございました。