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