3

プロパティ FormBorderStyle が「None」に設定され、ドラッグとボタン用のカスタムバーが上部にあるフォームがあります。

子フォームであり、親フォームの背景色が子フォームと同じであるため、子フォームが見えにくいため、フォームに境界線を付けたいと思います。いいえ、背景色を変更できません/変更しません。

ヘルプ

4

5 に答える 5

3

背景画像や固定サイズのフォームを設定する必要がない方法があります。したがって、これは私が推測する最も適切で簡単な方法です。という名前のフォームがForm1あるとします。必要なことは次のとおりです。

Private Sub Form1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, Color.Black, ButtonBorderStyle.Solid)
End Sub

Windows バージョンで提供される既定の境界線を使用する場合の代替方法:

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable
    Me.Text = ""
    Me.ControlBox = False
End Sub
于 2013-01-25T12:51:28.023 に答える
1

ここからダウンロードできるVisual Basic .NET Power Packを使用できます。私が現在取り組んでいるこの 1 つのプログラムのように、ボーダーレス フォームのエッジに配置できるこの Control が呼び出されます。LineShapeフォームの境界線は LineShape だけであることに注意してください。

北の境界線は に設定されているだけLineShapeで、他の境界線は に設定されています。BorderWidth60BorderWidth10

于 2016-09-11T04:53:41.277 に答える
0

BackgroundImageたぶん、境界線以外で透明を使用できます。

于 2013-01-25T10:59:11.667 に答える
0

theGD による回答を見た後、フォームの TableLayouPanel に対して同じことを行いました。

Private Sub TableLayoutPanel1_Paint(sender As Object, e As PaintEventArgs) Handles TableLayoutPanel1.Paint
    ControlPaint.DrawBorder(e.Graphics, e.ClipRectangle, Color.DarkOrange, ButtonBorderStyle.Solid)
End Sub
于 2016-10-19T15:17:24.427 に答える