4

WinFormsアプリケーションでは、後で一種の画像マップとして使用するために、画像の上の「ホット」領域をインタラクティブに編集できる必要があります。

PictureBoxの上にいくつかのフローティング長方形(Microsoft.VisualBasic.PowerPacks ftw)を使用してUserControlをリグしようとしましたが、特にコントロールを移動したときのちらつきや更新の問題で、結果はそれほどきれいではありませんでした。

キャンバス上の領域を定義するのに役立つ既存のコントロールを知っている人はいますか?たとえば、グラフィックスアプリケーションはフローティング選択を多く処理する必要があると思いますが、使用するものを追跡することはできませんでした。どんなアイデアでもありがたいです。

4

2 に答える 2

2

今のところ、現在のソリューションに固執します。ちらつきは、ダブルバッファリングを有効にしていないことが原因である可能性があります。

ダブルバッファリングを有効にすると、ちらつきのほとんど(すべてではないにしても)が消えるはずです。

カスタムコントロールとフォームの両方のInitializeComponent:

this.SetStyle(ControlStyles.AllPaintingInWmPaint |
              ControlStyles.UserPaint |
              ControlStyles.DoubleBuffer,true);

この記事で利用できるより多くの情報。

于 2009-06-24T09:49:40.097 に答える
2

私はそのようなコントロールを持っています...デザイナーのサポートなし

私がまだ回避していない小さなバグ(非常に断続的)が1つありますが、それはBCLのどこかにあります。コピーをご希望の場合は、(www.sadeveloper.net経由で)私にメールを送ってください。2つの条件でコピーをお送りします。

  1. あらゆる影響からの標準的な免除、偶発的またはその他の損害に対する責任はありません...。
  2. バグを見つけて修正したら、その方法を教えてください

マリオ

于 2009-06-24T16:37:55.530 に答える