web-dev-qa-db-ja.com

Windowsフォームのボタンラベルとしての複数行のテキスト

基本的には楕円形のボタンを作成しています。しかし、ボタンのラベルが長すぎて1行に表示できないため、楕円形のボタンが見栄えがするように複数の行に分割したいと思いました。

ボタンでワードラップを有効にするにはどうすればよいですか?

12
Dinesh

フォームの読み込み時にラベルテキストを設定し、次のようにEnvironment.Newlineを改行文字列として追加します。

btnOK.Text = "OK" + Environment.NewLine + "true";
25
Rox

VSデザイナ内でボタンのラベルを複数行のテキストに設定する場合は、プロパティフィールドの右側にある「下矢印」をクリックすると、複数行のテキストを入力できます。

VS text multiline property panel

私はVS2015でこれを試しました。

26
Dan Mirescu

テキストの分割する場所に改行を追加するだけです。

3
Giorgi

折り返したい場所のボタンのTextプロパティに「\ n」を追加してみてください。

1
0x49D1

ボタンのテキストに改行(つまり、\ n)を挿入するだけです。

例:

Button1.AutoSize = true;

Button1.Text = "This is \n The Button Text";
0
Khalid

2つのオプションがあります:

  1. カスタムコントロールを作成する場合は、Autosize = trueオプションを使用してラベルコントロールを配置します。そして、ボタンのサイズに従ってそのサイズを調整します。
  2. 必要な場所に新しい行を追加します(少し粗雑です)。
0
Ram

「\ n」オカレンスを「実際の」改行に変換する1つの追加プロパティ(たとえば、Label)を使用してカスタムボタンを作成できます(VSデザイナーはすでに10年は実行できないため)。

public string Label
{
    get { return (string.IsNullOrEmpty(Text) ? Text : Text.Replace("\n", @"\n")); }
    set {
        Text = (string.IsNullOrEmpty(value) ? value : value.Replace(@"\n", "\n"));
    }
}

このようなクラスを作成すると、SuperButtonがプロジェクトページのツールボックスに表示されるため、視覚的なデザイン方法を失うことはありません。

0
Vincent