• 締切済み

図の様な枠線の引き方を教えてください

タイトルの通りなのですが添付した図の様な枠線はどうすれば引けるでしょうか(図の様に途中で文字列を表示できるような線) VB 2008 Express Editionを利用しています。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#1のお礼に関して フォームにGroupBox1、GroupBox2を設け、のボタン2のイベントで下記やってみました Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.GroupBox1.Location = New System.Drawing.Point(24, 24) Me.GroupBox1.Size = New System.Drawing.Size(100, 24) Me.GroupBox2.Location = New System.Drawing.Point(124, 24) Me.GroupBox2.Size = New System.Drawing.Size(100, 24) End Sub 実行かつボタンクリックで、横並びにぴったりくっついて並びましたが。 >すると片方のGroupBoxが消えてしまい表示されません のことが理解できません。 サイズが1方が大きく、かつ覆いかぶさっているだけでは無いですか。

回答No.2

WinAPIのSetBkModeとかないのね、、、 線を引いて、その上に文字の大きさ分の塗りつぶした四角を上書きして、 その上に文字を書く。ってなのは? Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint   Dim g As Graphics = e.Graphics   Dim l As PointF = New PointF(10.0F, 10.0F)   Dim s As SizeF = New Size(100.0F, 100.0F)   g.DrawRectangle(Pens.Gray, l.X, l.Y, s.Width, s.Height)   Dim textrect As RectangleF Dim text As String = "ほげ"   l.X += 10.0F   l.Y -= 5.0F   textrect = New RectangleF(l, g.MeasureString(text, Me.Font))   textrect.Inflate(1.0F, 0.0F)   g.FillRectangle(New SolidBrush(Me.BackColor), textrect)   g.DrawString(text, Me.Font, Brushes.Black, textrect.Location.X + 1.0F, textrect.Location.Y) End Sub

回答No.1

GroupBoxコントロールを配置してください。 ツールボックスの「コンテナ」グループにあると思います。

tkwavek
質問者

お礼

ご回答ありがとうございます。GroupBoxで枠線を描くことができました。しかし、GroupBoxを2つくっつけて配置すると片方のGroupBoxが 消えてしまい表示されません。これは、どうやって解決すればいいのでしょうか。ご存知でしたら教えて下さい。

専門家に質問してみよう