プログレスバーを使用してバッテリーの状態を表示しています。ユーザーが進行状況バーをクリックすると、詳細を含むポップアップが表示されます。
クリック座標がプログレスバーの境界内にあるかどうかを確認する必要があるソリューションを除外すると、別の解決策または回避策が見つかりましたか?
プログレスバーを使用してバッテリーの状態を表示しています。ユーザーが進行状況バーをクリックすると、詳細を含むポップアップが表示されます。
クリック座標がプログレスバーの境界内にあるかどうかを確認する必要があるソリューションを除外すると、別の解決策または回避策が見つかりましたか?
OK、カスタムコントロールを実行する簡単な方法は、UserControlから始めて、ProgressBarをドロップし、UserControlを満たすようにドッキングしてから、ProgressBarをUserControlのパブリックプロパティとして公開することです。これにより、コードは次のようになります。いう
myProgressBar1.ProgressBar.Max = 100
それ以外の
progressBar1.Max = 100
次に、ユーザーコントロールのClickイベントを使用して詳細を表示します(クリックを機能させるには、内側のProgressBarを無効にする必要があると思いますが、進行状況バーの外観には影響しません)。
このように、ユーザーコントロールは通常のプログレスバーとまったく同じように見えます(したがって、お尻のように見えます)。:)
また、一般的には、ユーザーが慣れている方法でのみコントロールを使用することをお勧めします。プログレス バーは、情報を表示するためだけに使用されます (伝統的に使用されています)。これが、Compact Framework のすべての対話イベントを削除した理由です。
プログレスバーをそのままにして、バーの上または横に「詳細」LinkLabelを追加する方が良いと思います。
私は常に独自のカスタム ProgressBar ユーザーコントロールを作成してきました。書くのに多分5分かかりますし、ビルトインのプログレスバーコントロールはとにかくお尻のように見えます.
これにはリフレクションを使用できると思いますが、独自のコントロールを作成する方が簡単です。
更新: ProgressBar を Control (Click イベントがある) としてキャストしてから、コードでイベント ハンドラーを割り当てようとしましたが、これは機能していないようです。