ネストされたコントロールと、Control.Paint
イベントハンドラーを使用してカスタムボーダーを描画するアプリケーションを作成しようとしています。 、またおそらく、境界線を引く(と、どのように「ChocoTesterについて」と「ビューのバージョン...」ラベルと同様に、アイコンを含むPictureBox
コントロール親のカスタム描画コードを継承する
注意:以下の画像を参照してください。背景色も同様ですが、すぐには見えません)。一番外側のボックスにControl.Paint
イベントハンドラを追加しましたのみです。ただし、何らかの理由で、子コントロールが親のペイントイベントコードを継承しています。このプロジェクトで作業を開始するまでは、これまでWindowsフォームではこれまでに行ったことはありませんでした。
子コントロールのBackColor
はTransparent
です。これは、上記の症状とは関係ありません。 親のカスタムコントロールPaint
がある別のコントロールの子コントロールは、標準のLabel
インスタンスまたはカスタムの図面コードが独自のパネルであるため、この動作を示します。ここで
は、この問題を示すサンプルPanel.Paint
ハンドラです:
Rectangle r = e.ClipRectangle; r.Inflate(-1, -1);
e.Graphics.FillRectangle(Brushes.AliceBlue, r);
e.Graphics.DrawRectangle(Pens.DarkBlue, r);
は、問題を再現するコードを共有しています。 –