3

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

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

何か案は?ありがとう。

4

3 に答える 3

1

最も簡単なアプローチは、プログレスバーコントロールのインスタンスを作成することです。そうすれば、カスタムコーディング/カスタムペイントを実行する必要はありません。ボタンコントロール内にすべてを表示する必要がある場合は、2つのオプションがあります。ボタンのImageプロパティを変更し続けるか、全体を動かしてボタンのカスタムペイントを実行できます。カスタムペイントは、テキストに加えて必要な画像を描画するだけでよいため、非常に簡単です。

于 2008-10-13T00:04:33.467 に答える
1

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

于 2008-10-13T00:14:28.797 に答える
0

あなたが本当にそれをボタンに持っている必要があるならば、私はカスタムペイントイベントで行きます。

次のようなもの:

button += new buttonPaintEvent(buttonPaintEventHandlerMethod);
于 2008-10-13T00:09:07.403 に答える