質問

.NET初心者の方... Windowsフォームに進行状況または「クールダウン」を表示するボタンを作成したいのですが。効果。つまり、ボタンを押すと無効になります。いくつかのイベントまたはタイマーの進行中、ボタンは進行状況をグラフィカルに表示します。進行が完了すると、グラフィックが完了し、ボタンが有効になります。同様の効果は多くのゲームで見られます。

組み込みのButtonクラスとGDI + DrawPath関数の組み合わせを使用することを検討していましたが、複雑さのスケーリングが不十分であり、もっと簡単な方法が必要だというしつこい感じがします。

アイデアはありますか?ありがとう。

役に立ちましたか?

解決

ボタンに本当に必要な場合は、カスタムペイントイベントを使用します。

次のようなもの:

button += new buttonPaintEvent(buttonPaintEventHandlerMethod);

他のヒント

最も簡単な方法は、プログレスバーコントロールのインスタンスを作成し、カスタムコーディング/カスタムペイントを実行する必要がないことです。ボタンコントロール内にすべてを表示する必要がある場合は、2つのオプションがあります。ボタンのImageプロパティを変更し続けることもできますし、独り占めしてボタンのカスタムペイントを実行することもできます。カスタムペイントは、テキストと必要な画像を描画するだけで済むため、非常に簡単です。

もう1つの簡単な方法は、フォーム上の同じスペースを占める2つのコントロール、ボタンとプログレスバーを使用することです。ユーザーがボタンを押すと、ボタンが非表示になり、進行状況バーが表示されます。処理が完了するまで、必要に応じて進行状況バーを更新します。次に、進行状況バーを非表示にしてボタンを再度表示します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top