問題タブ [onpaint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
75 参照

c#-4.0 - ユーザーコントロールの一部だけを更新する

ビデオを使用するためのタイムライン ユーザー コントロールを開発しています。ここに私の作品の写真があります: ここに画像の説明を入力

ここで問題があります。currentTime が変更されたら、UI を更新する必要があります。しかし、私が this.Invalidate(); を使用すると コントロール全体をリフレッシュします。しかし、ポインタ(灰色の背景の白い線)を更新したいだけです。非常に小さな時間の変化でコントロールが何度も点滅するためです。ポインタを更新する方法は?これが私のonPaintメソッドです

0 投票する
2 に答える
494 参照

c# - OnPaint() メソッドの使用

このライブラリを使用して QRcode を WinForm アプリケーションに生成していますが、OnPaint() メソッドの使用方法がよくわかりません。

だから私はこれを持っています:

フォームに単純な pictureBox があり、そこに QRcode イメージを生成したいだけです (picturebox で生成できる場合)。

0 投票する
1 に答える
521 参照

c# - 同時に描画されないコントロール

ShowDialogいくつかのテキスト ボックス、ラベル、およびボタンを含むフォームを使用しています。私が抱えている問題は、フォーム自体と他のコントロールが描画される前にテキスト ボックスが描画されていることです。

メソッドをオーバーライドしていますOnPaintが、これが問題の原因であるかどうかはわかりません:

わずかな遅延ですが、目に見えて迷惑です。ありがとうございました。

ちなみに、フォームはダブルバッファリングされています。

編集:フォームにFormBorderStyle. にFormBorderStyle設定するとSizable、この問題は発生しません。FormBorderStyle.Noneただし、境界線のスタイルが必要なので、まだ解決策が見つからないことに注意してください。

0 投票する
2 に答える
1471 参照

python - WxPython、単純な GUI での Buffered DC と Panel Refresh の使用 (Rev カウンターと棒グラフ)

Python でプログラミングを始めたばかりなので、メーター (回転カウンター) と棒グラフで構成される単純な GUI を試してみました。これはすべて機能します (コードは以下に添付されています)。ただし、画面のリフレッシュ (Windows XP) により、ちらつきがひどくなります。Buffered DC を使用する必要があることはわかっていますが、実際に何をする必要があるかをすべての投稿から判断することはできません。

ただし、私の仮定は次のとおりです。

  1. 最初に、バッファリングされたイメージが「常駐」するメモリ DC を作成し、次に
  2. バッファリングされた DC をインスタンス化する
  3. On Paint を Buffered DC にバインドします。

関連するメーター面 (スケール) を提供するために、Autocad ですべて描画し、棒グラフとメーターの針が重ねられる jpg (HMIV0.2.bmp) に変換しました。

お気づきのように、ループの最後で Refresh を使用していますが、これが「悪い習慣」であるかどうか疑問に思っています。ただし、私の意図は、プログラムがフリーランして、ループの各パスで関連する値 (revs) を「取得」することです。これにより、ペイントをトリガーする外部イベントがなくなります。

正しい方向へのアドバイスやポインタは大歓迎です...インスピレーションを期待してCody Precordの「Wx.Python 2.8アプリケーション開発クックブック」を購入しましたが、残念ながら。

0 投票する
1 に答える
1188 参照

c# - System.Windows.Forms.ProgressBar から派生したクラスがそのオーバーライド OnPaint を取得しない

System.Windows.Forms.ProgressBar から派生したクラスを作成しました。MSDN が推奨する方法に従いました。

  • プロジェクトにユーザー コントロールを追加する
  • ユーザー コントロールのコードを開く
  • System.Windows.Forms.UserControl から派生する代わりに、ProgressBar から派生します。

さらに、OnPaint をオーバーライドするので、自分でペイントできます。

しかし、この関数は決して呼び出されません。ブレークポイントはここでブレークしません。プログレスバーは正常に描画されます。私は何が欠けていますか?