12

ウィンドウフォームの枠線(フォームタイトルとの枠線)の色を変更したいです。私がcodeplexで見つけた例は、多すぎて紛らわしいです。もっと簡単なことで私を助けることができますか?

4

6 に答える 6

16

次のようにオーバーライドします。

protected override void OnPaint(PaintEventArgs e)
{
    ControlPaint.DrawBorder(e.Graphics, ClientRectangle, Color.[your_color], ButtonBorderStyle.Solid);
}
于 2019-12-25T12:06:23.533 に答える
11

残念ながら、フォームの境界線はオペレーティングシステムによって描画されるため、これは複雑な作業です。それを回避する本当の方法はありません。

以下のCodePlexページのProjectDistributorリンクをクリックしないでください

ただし、カスタム境界線を描画するためのCodePlexプロジェクトを使用すると、これは非常に簡単になります。標準のフォームではなく、そのプロジェクトのSkinnedFormを使用してフォームを作成するだけで、機能するはずです。コードで別のことをする必要はありません。

于 2009-09-18T16:07:27.800 に答える
-1

前述のように、境界線の実際の色を変更するのは困難です。パネルを使用した上記のソリューションには、フォームのサイズを変更できないなどの制限があります。他の多くの制限なしで、かなり簡単なトリックを見つけました。

  • フォームを作成する
  • FormBorderStyle を None に設定
  • パネルを4枚追加
  • パネルの背景色を必要な境界線の色に設定します
  • 上下左右に1つずつ固定
  • 高さ (上/下) または幅 (左/右) を必要な境界線の太さに設定します。2~3枚はかなり良さそうです。

境界線のように見え、ウィンドウに合わせてサイズが変更され、他のものを必要なフォームにドロップできます。制限は、フォームに追加する最初のものとしてこれを行う必要があることです。

于 2021-01-26T04:00:25.813 に答える
-2

「ForeColor」の下には、「FormBorderStyle」という設定が必要です。VisualStudio 2015 でそれを編集できます。または、コントロール パネルのパスに移動して、「Control Panel\Appearance and Personalization\Personalization」のようにすることもできます。 「色」と呼ばれる2番目の設定は、それを希望する色に変更できます。これにより、すべてのプログラムのボーダーの色が設定した色に変更されます。

于 2017-04-06T19:04:19.497 に答える