7

Windows フォーム アプリケーションを開発しています。テキストを中央揃えにするか、フォームのタイトル バーの右に配置します。どうすればできますか??

4

4 に答える 4

16

これはカスタム フォームで行うことができます。独自のタイトル バーを作成する必要があります。V4Vendettas のコメントを参照してください。

その他のアプローチ (リンク) - フォームのサイズを変更するための独自のハンドラーを作成し、そこに後続のコードを挿入することです。テキストの左サイズから適切な量のスペースを追加します。ただし、form.Refresh() を追加して、そのメソッドを form.Load; で呼び出す必要があります。また、ウィンドウのタスクバーにテキストとして「...」が表示されます。

private void UpdateTextPosition()
{
    Graphics g = this.CreateGraphics();
    Double startingPoint = (this.Width / 2) - (g.MeasureString(this.Text.Trim(), this.Font).Width / 2);
    Double widthOfASpace = g.MeasureString(" ", this.Font).Width;
    String tmp = " ";
    Double tmpWidth = 0;

    while ((tmpWidth + widthOfASpace) < startingPoint)
    {
       tmp += " ";
       tmpWidth += widthOfASpace;
    }

    this.Text = tmp + this.Text.Trim();
}
于 2012-08-14T07:19:12.767 に答える
0

コントロール内のテキスト (ラベルなど) の場合は、"TextAlign" という名前のプロパティを編集して、Windows フォーム デザイナー内で目的を達成できます。

またはプログラム的に、

Label.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;

タイトル バーのテキストの配置について話している場合、Winforms でこれを行う方法はありません。次のようなものを使用する必要があります: http://www.codeproject.com/Articles/93959/WinForm-Extended

于 2012-08-14T07:10:30.797 に答える
-4

Windows フォーム デザイナーの内部。次のように変更しthis.lable1.AutoSize = falseます。

それで:

this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
于 2012-08-16T10:24:00.020 に答える