- 題名: Buttonコントロールの文字折り返しについて
- 日時: 2007/10/16 13:43:29
- ID: 20759
- この記事の返信元:
- (なし)
- この記事への返信:
- [20761] Re[1]: Buttonコントロールの文字折り返しについて2007/10/16 15:18:20
- ツリーを表示
■No20764に返信(鶏唐揚さんの記事) ■No20759に返信(鶏唐揚さんの記事) > 最悪はどぼん様の「Buttonの表面を自分で描画する」を参考にして文字を描いてやろうと思っていますが、 > できればグラフィック処理をせずに行いたいと思っています。 どうもVB.NET2003だとプロパティなどだけで設定というわけにはいかなそうですね。。。 なぜグラフィック処理をつかいたくないのでしょうか。 ご参照のこちらのどぼん様の「Buttonの表面を自分で描画する」 http://dobon.net/vb/dotnet/control/btnownerdraw.html のコードで何とかなりませんか。 #私もちょっと試してみました。ご希望どおりにはならないかもしれませんが。 Private Sub Button1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint Dim rect1 As Rectangle = e.ClipRectangle rect1.Inflate(-5, -5) '←この5根拠はないです Dim brush1 As Brush = New SolidBrush(Button1.BackColor) e.Graphics.FillRectangle(brush1, rect1) brush1.Dispose() Dim sf As StringFormat = New StringFormat sf.Alignment = StringAlignment.Center sf.LineAlignment = StringAlignment.Center sf.FormatFlags = sf.FormatFlags Or StringFormatFlags.NoWrap brush1 = New SolidBrush(Button1.ForeColor) e.Graphics.DrawString(Button1.Text, Button1.Font, brush1, RectangleF.op_Implicit(Button1.ClientRectangle), sf) brush1.Dispose() End Sub
分類:[.NET]
はじめまして、以前より参考にさせていただいてましたが、質問は初めてです。
現在VisualBasic.NET 2003でプログラムしています。
ButtonコントロールのTextにセットした文字列が長いと、自動で折り返されるのですが
この折り返しを無効にしたいと思っています。しかしGoogleで調べても見つからず、
またプロパティにもそれと思わしきものが見つかりませんでした。
もしかして強制的に折り返される仕様なのでしょうか。それとも隠れたプロパティか、あるいはクラスを活用することで設定可能なのでしょうか。
最悪はどぼん様の「Buttonの表面を自分で描画する」を参考にして文字を描いてやろうと思っていますが、
できればグラフィック処理をせずに行いたいと思っています。
よろしくお願いします。