- ベストアンサー
Labelコントロールの(左右)余白について
最近になってMicrosoft Visual Basic 2008 (ProfessinaolEdition)を触り始めたばかりです。 「Windowsフォームアプリケーション」で作成しています。 Labelコントロールって、TextBoxと比べて、コントロール内(左右)に少し余白がありますよね?Paddingプロパティを0にしてもこの余白はそれ以上小さくなってくれません。 これを、TextBoxと同じぐらいのギリギリ右に寄せて表示することはできないものでしょうか。 それをやろうとすると、Labelを2つ重ねたり、またはカスタムコントロールを作る等の方法しかないでしょうか。 それとも、私が何か凄い勘違いや見落としをしているのでしょうか?? ご指摘いただけるか、或いは回避方法等をご存じの方、おられましたらお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
よっぽど特殊な意味がない限り、私は重ね気味にしますけどね。 1ミリ程度で寄せたい理由は何かあるのでしょうか。
その他の回答 (1)
- camputer
- ベストアンサー率64% (22/34)
こんばんは. ちゃんと質問を理解できていないかもしれませんけど, コントロールの形であれば次のようにして変形することができますよ. http://dobon.net/vb/dotnet/form/formregion.html (↑非常にためになるいいページです) 試しにLabel1用に作成してみました. Dim X左 As Integer = 0 : Dim X右 As Integer = X左 + Label1.Size.Width Dim Y上 As Integer = 0 : Dim Y下 As Integer = Y上 + Label1.Size.Height Dim 減右 As Integer = 7 : Dim 減左 As Integer = 7 : Dim 減上 As Integer = 7 : Dim 減下 As Integer = 7 Dim myArray As Point() = {New Point(X左 + 減左, Y上 + 減上), _ New Point(X右 - 減右, Y上 + 減上), _ New Point(X右 - 減右, Y下 - 減下), _ New Point(X左 + 減左, Y下 - 減下)} Dim path As New System.Drawing.Drawing2D.GraphicsPath() path.AddClosedCurve(myArray, 0.00001F) Label1.Region = New Region(path) 上のサンプルで「減~」で始まる名前の変数の値を変更すれば, やりたいことができるのではないかと. ↑よかったら使ってみてください.
お礼
非常にためになります。ありがとうございます。 どうも無理なようなので今回はラベルを使わないことにしました。 この方法もまたやってみたいと思います。
お礼
入力可の項目と入力不可(表示のみ)の項目があり、それらをテキストボックスとラベルにして縦に並べた時に数字が(縦に)揃わないので視覚的にちょっと気になるというか、何とかならないかなぁと思って聞いてみました。 ラベルでなくテキストボックスを使うと、使用不可(Enabled=False)とすると文字色が固定になったり使用可とするとフォーカス制御や入力制御をしなければいけない等、若干の面倒が発生するので出来れば避けたかったんですが、そういうものなら仕方ないですね。 取り敢えずテキストボックスを使うことにします。 ありがとうございました。