アプリ版:「スタンプのみでお礼する」機能のリリースについて

最近になってMicrosoft Visual Basic 2008 (ProfessinaolEdition)を触り始めたばかりです。

「Windowsフォームアプリケーション」で作成しています。
Labelコントロールって、TextBoxと比べて、コントロール内(左右)に少し余白がありますよね?Paddingプロパティを0にしてもこの余白はそれ以上小さくなってくれません。
これを、TextBoxと同じぐらいのギリギリ右に寄せて表示することはできないものでしょうか。
それをやろうとすると、Labelを2つ重ねたり、またはカスタムコントロールを作る等の方法しかないでしょうか。
それとも、私が何か凄い勘違いや見落としをしているのでしょうか??

ご指摘いただけるか、或いは回避方法等をご存じの方、おられましたらお願いします。

A 回答 (2件)

 こんばんは.


 ちゃんと質問を理解できていないかもしれませんけど,
コントロールの形であれば次のようにして変形することができますよ.
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)

 上のサンプルで「減~」で始まる名前の変数の値を変更すれば,
やりたいことができるのではないかと.
 ↑よかったら使ってみてください.
    • good
    • 0
この回答へのお礼

非常にためになります。ありがとうございます。
どうも無理なようなので今回はラベルを使わないことにしました。
この方法もまたやってみたいと思います。

お礼日時:2009/10/24 17:59

よっぽど特殊な意味がない限り、私は重ね気味にしますけどね。


1ミリ程度で寄せたい理由は何かあるのでしょうか。
    • good
    • 0
この回答へのお礼

入力可の項目と入力不可(表示のみ)の項目があり、それらをテキストボックスとラベルにして縦に並べた時に数字が(縦に)揃わないので視覚的にちょっと気になるというか、何とかならないかなぁと思って聞いてみました。
ラベルでなくテキストボックスを使うと、使用不可(Enabled=False)とすると文字色が固定になったり使用可とするとフォーカス制御や入力制御をしなければいけない等、若干の面倒が発生するので出来れば避けたかったんですが、そういうものなら仕方ないですね。
取り敢えずテキストボックスを使うことにします。
ありがとうございました。

お礼日時:2009/10/24 18:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A