![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
VB2010でTextboxで辺の長さの数値を入力し、その数値分「*」を表示して正方形を作るアルゴリズムを考えています。どんな感じかは添付画像を参照していただければと思います。
Dim saizu As Integer
Dim i, j As Integer
saizu = TextBox1.Text
For i = 1 To saizu
For j = 1 To saizu
Label1.Text = "*"
Next
Label1.Text = vbLf
Next
考え方はこんな感じだと思うのですが、このままだとLabel1の中身が毎回更新されてしまい、結局何も表示されないという結果になることに気づきました。
確かVBにはLabelの手前に何か連結演算子のようなものをつけることで、更新されるのではなく追加していくというふうにできたと思うのです(記憶違いならこの質問自体が意味のないことになってしまうのですが…)。検索エンジンでいろいろと検索しては見たのですが、検索ワードがどれも曖昧な所為か私が必要としている答えにたどり着くことができませんでした。
曖昧な質問で申し訳ないのですが、Labelなどで文字を更新するのではなく結合する連結演算子のようなものを回答していただけたらありがたいです。もし、そんなものはないよ、という場合も教えていただければと思います。よろしくおねがいします。
![「VB2010でラベルに文字を結合したい」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/a/1955400_5497dc65ad20d/M.jpg)
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
LabelはGUI部品と結びついているだけの,単なるクラスです。
なので,Labelだからといって特殊なことは存在しません。
Label.TextはSystem.String型のプロパティですから,
・あらかじめ文字列を作ってから代入する
・&=演算子や,&演算子と=演算子を使ってTextプロパティ値を逐次更新する
といった方法があります。
基本的には,文字列を作ってから代入した方がよいでしょう。
Textプロパティの内部でUIの更新が行われるので,あまり好ましくありません。
なお,改行はvbNewLineまたはEnvironment.NewLineを使います。
Windows環境であればvbCrLfと同等のはずです。
おまけ。
規則性があるならString.JoinやString.ConcatとLinq使うのも手ではあります。
Label1.Text = String.Join(vbNewLine, Enumerable.Range(1, saizu).Select(Function (n) New String("*"c, n)))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB2010での連立方程式の計算
-
ポインター引数の関数でコンパ...
-
char str[256]の256の意味は?
-
エクセルシート名の制限を変更...
-
COBOLのCOMP形式について
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
printfの%eで指数部分の桁数を...
-
memcmp バイナリデータの比較方法
-
3バイト文字(UTF-8)をprintfで...
-
Javaで日本語1文字のバイト数
-
stable diffusionのエラー
-
ソケット通信の受信サイズ
-
改行コードがそのまま表示され...
-
テキストエリア内でタグ<BR>を...
-
html→aspxへのタグ変換方法
-
Excel VBA メール作成について ...
-
VC++で日本語(マルチバイト)フ...
-
GetWindowTextでアドレスバーか...
-
C言語 ファイル内のデータと入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
pythonにCでのexternはありますか
-
@color1 = ('0000ae',・・・,'$...
-
マクロの書き換え箇所がわかり...
-
チェックボックスのvalue値の取...
-
配列へのポインタの代入
-
VB2010での連立方程式の計算
-
高校数学のベーシック
-
なぜかわかりませんscanf()の戻...
-
Perlで変数中のエスケープされ...
-
格子運動の連立同次方程式
-
代入方法
-
変数内の文字の数
-
多元配列の0初期化
-
perlのプログラミングについて
-
なぜ?
-
算術演算子
-
CSVから構造体へ代入
-
漢字交じり文字列からのlocalti...
-
$template->output();の時に ...
-
VC6++ char配列の文字列をシリ...
おすすめ情報