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

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

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

Re[2]: .NETのToolStripStatusLabelについて


(過去ログ 177 を表示中)

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

■101766 / inTopicNo.1)  .NETのToolStripStatusLabelについて
  
□投稿者/ shigeru (1回)-(2023/04/17(Mon) 12:13:45)

分類:[.NET 全般] 

ToolStripStatusLabに表示できる文字数、もしくはToolStripStatusLabの長さを知る方法を教えてください
ユーザによってフォームサイズが変更されると、ToolStripStatusLabe.txtに表示できるテキストの長さがかわってしまい、場合によっては全く表示しなくなります。
予めToolStripStatusLabの長さがわかれば、それに応じて対策ができそうです。
検索しても見つけられなかったので、よろしくおねがいします
環境はWin10 Visual Studio 2019 Visual Basicです

引用返信 編集キー/
■101767 / inTopicNo.2)  Re[1]: .NETのToolStripStatusLabelについて
□投稿者/ WebSurfer (2669回)-(2023/04/17(Mon) 12:20:46)
No101766 (shigeru さん) に返信
> ToolStripStatusLabに表示できる文字数、もしくはToolStripStatusLabの長さを知る方法を教えてください

ToolStripStatusLabel の間違い?
引用返信 編集キー/
■101768 / inTopicNo.3)  Re[2]: .NETのToolStripStatusLabelについて
□投稿者/ shigeru (2回)-(2023/04/17(Mon) 12:23:41)
No101767 (WebSurfer さん) に返信
> ■No101766 (shigeru さん) に返信
>>ToolStripStatusLabに表示できる文字数、もしくはToolStripStatusLabの長さを知る方法を教えてください
>
> ToolStripStatusLabel の間違い?

すみません。
誤記です。
タイトル通りToolStripStatusLabelの表示可能長さを知りたいという質問です。
よろしくおねがいします
引用返信 編集キー/
■101779 / inTopicNo.4)  Re[3]: .NETのToolStripStatusLabelについて
□投稿者/ WebSurfer (2673回)-(2023/04/19(Wed) 10:17:07)
No101768 (shigeru さん) に返信

レスがつかないようですので回答にはなってないかもしれませんが一言・・・

> 予めToolStripStatusLabelの長さがわかれば、それに応じて対策ができそうです。
> タイトル通りToolStripStatusLabelの表示可能長さを知りたいという質問です。

.NET 7.0 の WinForms アプリで試してみました。

Size または Width プロパティでピクセル単位の幅を取得できます。ただし、
Text プロパティに設定する文字列の長さによって変化します。

Form に StatusStrip をドラッグ&ドロップして ToolStripStatusLabel を
それに含めた時点での Size は 118px x 17px です。

だからと言って、それが表示可能長さになるわけではなく、Text プロパティ
に設定する文字列の長さによって変わります。

ユーザーが Form の幅を狭くしていって、ToolStripStatusLabel の表示幅
より狭くすると、ToolStripStatusLabel は表示されなくなるという動きに
なります。

というわけで、Text プロパティに文字列を設定する前は、その文字列は表
示された時の ToolStripStatusLabel の幅は分からりません。

裏技小技など何らかの手段を使って分かるようにしたとしても、

> ユーザによってフォームサイズが変更されると、ToolStripStatusLabe.Text
> に表示できるテキストの長さがかわってしまい、場合によっては全く表示
> しなくなります。

に対処するのは難しそうです。

引用返信 編集キー/
■101780 / inTopicNo.5)  Re[4]: .NETのToolStripStatusLabelについて
□投稿者/ shigeru (3回)-(2023/04/19(Wed) 10:33:04)
WebSurfer さん、回答ありがとうございます
やはり難しそうなんですね。
もう少し粘って調べてから無理そうならあきらめて別の手段を検討します

引用返信 編集キー/
■101781 / inTopicNo.6)  Re[1]: .NETのToolStripStatusLabelについて
□投稿者/ 魔界の仮面弁士 (3624回)-(2023/04/19(Wed) 10:52:09)
No101766 (shigeru さん) に返信
> 表示できるテキストの長さがかわってしまい、場合によっては全く表示しなくなります。

可変サイズにこだわらないなら、Label の AutoSize を False にしておき、
ラベルの Size を固定幅にしたうえで、そのサイズを下回らないように
Form の MinimumSize で下限サイズを明示しておくとか。

複数の ToolStripItem がある場合は調整しづらいかもしれませんが。
引用返信 編集キー/
■101782 / inTopicNo.7)  Re[1]: .NETのToolStripStatusLabelについて
□投稿者/ radian (123回)-(2023/04/19(Wed) 11:23:06)
2023/04/19(Wed) 11:27:41 編集(投稿者)

https://github.com/dotnet/winforms/issues/6362

公式では仕様なので修正しないとのことで。
表示されない時、ToolStripItemのOnPaint自体が呼ばれてないっぽいですね。
カスタムコントロールで自力対応するにしてもかなりしんどそうなので、
どうしてもToolStripじゃないといけない理由がないのであれば、
他のコントロールで代替した方がいいかも…
引用返信 編集キー/
■101810 / inTopicNo.8)  Re[2]: .NETのToolStripStatusLabelについて
□投稿者/ shigeru (4回)-(2023/04/24(Mon) 11:31:12)
あまりこだわりもないのでTextBoxでの処理に変更しようと思います。
皆さん、ありがとうございました
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -