C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 文字列の幅を取得


(過去ログ 128 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■76260 / inTopicNo.1)  文字列の幅を取得
  
□投稿者/ こういち (4回)-(2015/06/19(Fri) 01:31:11)

分類:[VB.NET/VB2005 以降] 

文字列の幅を取得したいと思い、次のとおりコードを書いたのですが、
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」とエラーが出ました。

Dim g As Graphics
Dim w As Integer = g.MeasureString("test", Me.Font).Width

解決する方法をご教示いただければ幸甚です。

引用返信 編集キー/
■76262 / inTopicNo.2)  Re[1]: 文字列の幅を取得
□投稿者/ Azulean (496回)-(2015/06/19(Fri) 06:16:21)
No76260 (こういち さん) に返信
> 文字列の幅を取得したいと思い、次のとおりコードを書いたのですが、
> 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」とエラーが出ました。

g に何も入れていない、空っぽの箱に対して命令を出しているので、「例外」が発生しています。
空っぽの箱ではなく、何か入れておかないといけません。


> 解決する方法をご教示いただければ幸甚です。

特定のコントロールに対して CreateGraphics するとか、Bitmap/Image などから Graphics.FromImage で作るとか。
なお、Graphics は破棄(Dispose)が必要なオブジェクトなので、そのあたりも忘れないようにしましょう。

「描画」系のサンプルコードを読んでいけば、イメージがつきやすいかと思います。
http://dobon.net/vb/dotnet/graphics/
引用返信 編集キー/
■76284 / inTopicNo.3)  Re[2]: 文字列の幅を取得
□投稿者/ こういち (5回)-(2015/06/20(Sat) 17:42:55)
No76262 (Azulean さん) に返信

ありがとうございます!問題なく取得できました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -