ベクトル プリミティブを描画するための C# アプリを作成しました。描画面には、TabControl に配置された Draw.DoubleBufferedPanel を使用します。新しいプロジェクトを作成すると、新しい Draw.DoubleBufferedPanel を含む新しいタブ ページが作成されました。しかし、ドローイング用のボタンのクリックイベントでは、プライマリ Draw.DoubleBufferedPanel を使用し、新しいタブを作成すると何も描画できません。新しく作成されたプロジェクトを描画するには、何をする必要がありましたか?
1 に答える
0
コントロール階層が正しいことを確認してください。
- メインフォーム
- タブ コントロール
- タブページ1
- MyDrawingControl1 : MyDrawControl
- タブページ 2
- MyDrawingControl2 : MyDrawControl
次に、MyDrawControl (そのインスタンスではない) のペイント ハンドラーで、クリッピングをそのまま残して、独自のサーフェス (グラフィック) のみにペイントする必要があります。
アップデート:
カスタム描画を行うコントロールを実装する方法については、こちらを参照してください。一般に、独自のクラスを作成し、コントロール (または Button などの子孫の 1 つ) から継承し、OnPaint() メソッドを実装する必要があります。OnPaint() では、Graphic を使用してペイントできます。コントロールを DoubleBuffered = true に設定できるため、Winforms は OnPaint() コードの周りにダブル バッファリングを自動的に適用します。
于 2012-09-05T11:24:12.630 に答える