質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

Q&A

解決済

1回答

336閲覧

WinFormsのボタンで、ボタンから選択が外れたときのみTextが短縮されるのはなぜか? 対処法はあるのか?

b_0_0_d

総合スコア9

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

0グッド

0クリップ

投稿2022/02/17 08:15

内容

WinFormsでButtonコントロールを用いた際、ボタンにフォーカスが当たっているときはテキストが短縮されないのに、フォーカスが外れる(別のコントロールにフォーカスが当たる)と急にテキストが短縮して表示される理由を知りたいです。
具体的には、以下の画像のようになります。
イメージ説明イメージ説明
これらはどちらも、Textプロパティは「10」という半角文字列です。画像のせいで大きさが少し異なって見えますが、実際にはSizeプロパティを変更していません。どちらも同じSizeです。

質問内容

これらを踏まえて、知りたいのは以下の点です。

  • これはなぜ発生するのか。
  • これを解消する方法はあるのか。あるとしたらどのような方法か(Sizeプロパティを変更する、Fontのサイズを変更する以外で)。

一番知りたいのは「解消する方法」の方ですので、「なぜ」の方はなくても結構です。ただ、興味があるので、知っていたなら教えてくださればありがたいです。

補足情報

  • Buttonのプロパティは、SizeとText以外、デザイナに張り付けてから変更していません(デフォルト?の状態)。
  • Sizeは (25, 25) です。
  • Fontサイズは 9ptです。

  • Visual Studio 2022です。
  • .NET6.0 の方のWinformsプロジェクトを使っています。.Net framework のほうではありません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2022/02/17 08:17

デザインが変わるからです。 ボタンを少し大きくするか、フォントを小さくすると良いでしょう。
Zuishin

2022/02/17 09:14

Stack Overflow などであれば回答となるでしょうが、teratail では重要な情報がいくつも落ちている質問が多く、質問を言葉通りに受け取ることができません。 それなのに真意を問えば怒り出す人も多いため、回答者は当てずっぽうを書くことになります。 今回も、ボタンを大きくしたりフォントを小さくしたりなどのような、すぐ思いつくことは試した上での質問のはずなので、「どこまで試しましたか?」という修正依頼が必要ですが、それを聞くと怒り出す質問者が多いため、このような書き方をしました。
guest

回答1

0

ベストアンサー

これを解消する方法はあるのか。

ボタンの大きさをもちっと横に広げよう
あるいは縦に2行分広げてもよろしい

投稿2022/02/17 08:17

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

b_0_0_d

2022/02/17 08:27

回答ありがとうございます。 Sizeを変更すればすべて解決する、というのは仰る通りだと思います。 ただ申し訳ないのですが、質問にもある通り、「SizeまたはFontサイズを変更せずに」解決する方法があるかどうか、ということが知りたいのです。 というのは、「フォーカスが当たっていたらきちんと全部表示されるのだから、フォーカスが当たっていないときにも全部表示されてもおかしくないはずだ」ということなのです。 もし、これが仕様なのでしたら、それでも構わないので、その際は「Sizeを変えずに解決する方法はない」という回答を頂きたいです。
y_waiwai

2022/02/17 08:39

> 「SizeまたはFontサイズを変更せずに」解決する方法があるかどうか 質問文に書かれてないことを後出しで言われても困ります 聞きたいことを聞きましょう。 カーソルを乗せたときに枠のサイズが僅かに変わるために2文字分が僅かにはみ出るために1文字追い出されるんでしょうね。 これをどーにかしたいなら、コンポーネント任せにせずに、自前でその文字を描画するようにするしかないかと思います。
b_0_0_d

2022/02/17 08:47

詳細な回答ありがとうございます。 「SizeまたはFontサイズを変更せずに」の部分は、”質問内容”のところの「これを解消する方法はあるのか。あるとしたらどのような方法か(Sizeプロパティを変更する、Fontのサイズを変更する以外で)。」というところに書いてあるのですが、()内なので分かりにくかったかもしれません。 ともかく、回答のおかげで解決いたしましたので、ベストアンサーとさせていただきます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問