9

コントロール間のスペースをさらに減らすにはどうすればよいですか?すべてのマージンとパディングを0に設定しましたが、コントローラー間にはまだスペースがあります。

フローレイアウトのプロパティ

これは、すべてのマージンとパディングを0に設定して取得したスペースです。各コントローラーのマージンとパディングも0に設定しました。

新しい間隔

一貫性を保つために、PictureBoxを追加するコードを次に示します。

Dim newPic As PictureBox = New PictureBox()
newPic.Image = p.Image
newPic.Size = New System.Drawing.Size(New Point(p.Size.Width * 2, 
                                                p.Size.Height * 2))
newPic.SizeMode = p.SizeMode
laytt.SetToolTip(newPic, ttstring)
AddHandler newPic.Click, AddressOf LayoutComponent_Clicked 

LayoutFlowLayout.Controls.Add(newPic)
4

2 に答える 2

15

追加する画像ボックスに Margin プロパティを設定していません。デフォルトは 3、3、3、3 です。問題を修正するには、次のコード行を追加します。

  newPic.Margin = New Padding(0)
于 2012-11-01T19:40:33.957 に答える
4

標準コントロールであっても、すべてのコントロールでマージンの処理方法が異なります。この例を見てください:

ここに画像の説明を入力

ButtonTextBox がすべてを占有するのに対し、 はその周囲にいくらかのスペースを確保していることに注意してください。はっきりと見える2つのピクセルの間になぜ2つのピクセルがあるのか​​ 疑問に思うかもしれません. そのためには、コピーしてペイントに貼り付けて拡大してください。これらの 2 ピクセルは実際には境界線であり、これがコントロールの描画方法です。境界線も確かButtonsにありますが、ズームインしても視覚的に正当化するのは難しい.

それを変更したい場合は、カスタム コントロールを作成し、その描画方法をオーバーライドする必要があります。つまり、境界線を手動で切り取るなどです。ただし、UI の一貫性を保つために、これを行うことはお勧めしません。

于 2012-11-01T19:34:13.210 に答える