2012-03-02 21 views
0

私は自分の言語(ペルシア語)でカスタムMessageBoxを作っています。 私はちょうど私がテキストのために使用するコンポーネントを知りたいですか?C#のカスタムMessageBox

ラベルは複数行ではなく、TextBoxは少し不適切です。 Visual Studioが使用するコンポーネントはどれですか?

The Visual Studio MessageBox

私は絵に指定されたコンポーネントは何ですか?

答えて

3

私はRQDQの答えをサポートしていますが、ラベルを複数行に拡大することができます。 TextAlignという名前のプロパティがあります。 LeftCenterまたはMiddleCenterに設定すると、メッセージボックス内のテキストの動作をシミュレートできます。テキストが1行に収まらない場合、ラベルは自動的に別の行にラップされます。しかし、この場合、AutoSizeプロパティをfalseのデフォルト値にします。

+0

私は答えスティーブに答えを得ていない。 MiddleCenterが機能しません。 –

+0

TextAlignプロパティがMiddleCenterに設定されたSystem.Windows.Forms.Labelを使用していますか? **デザイン時に**ラベルのサイズを変更して複数の行を表示しますか?実行時にはAutoSize = trueではありません。 – Steve

+0

ありがとう、それは動作します。ところで、 赤いボックスで指定したコンポーネントは何ですか? –

4

ラベルを使用できます。それは、テキストをレイアウトするためのいくつかのオプションがあります...一つの方法は、 "AutoSize = True"に設定することです。

+0

ありがとう、しかし、私にはラベルは単語ラップ機能を持っていないようです。 –

0

すべては、実行しているVisual Studioプロジェクトの種類によって異なります。 Wpf、Silverlight、Asp.net、さらにはWindowsの場合でも、どのようなプロジェクトであるかによって異なります。

画像にMFCスタイルのラベルが表示されているように見えますが、ブラウザではJavaScriptで表示されます。

+0

私はWindows Formプロジェクトを使用しています。 –

+0

Winフォームアプリケーションを使用しているため、カスタムフォーム(ウィンドウ)を作成し、フォームのインスタンスを作成し、カスタムメッセージをフォームに設定してからグローバルに使用できるようにする必要がありますDoModal。おそらく、オーバーライドされたスタイルプロパティを持つ複数行のテキストボックスを作成して境界線を表示したくない場合や、MessageBoxオプションを使用して\ nを手動で追加して新しい行に分割する場合があります。 –

+0

MessageBox.Show( "これは\ n新しい行を区切ります。"); –

0

リッチテキストボックスを使用できます。私は私のカスタムMessageBoxのためにそれを使用し、それは正常に動作します