2009-07-28 34 views
0

ボタンがあり、ボタンの中にイメージコントロールがあります。ユーザーが画像をクリックするとボタンがアニメートされてボタンが押されたように見えます。実際のボタンプレスイベントが発生するかどうかは気にしません。私が見たいと思うボタンの錯覚です。Winformsボタンをシミュレートするアニメーションをクリック

注:ウェブ上に表示される唯一のオプションは、Windows APIに直接書き込むことです。これは、私が実際にやりたくない複雑さと非アップグレード性のレベルです。

答えて

1

私はpicturboxをボタンのように見せかけるようにしました。次に、マウスクリックイベントで、数百ミリ秒間ボーダースタイルを変更してボタンプレスの外観をシミュレートします。

Private Sub simulateButtonPress(ByRef pictureBox As Infragistics.Win.UltraWinEditors.UltraPictureBox) 
    pictureBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Inset 
    Application.DoEvents() 
    System.Threading.Thread.Sleep(400) 
    pictureBox.BorderStyle = Infragistics.Win.UIElementBorderStyle.Raised 
    Application.DoEvents() 
End Sub 
+0

実際にはるかに優れた解決策が見つかりました.InstructionをMouseDownの発明に、Raised intをMouseUpのイベントに入れてください。マウスのボタンが押された時間に結びついています。 (実際のボタンのように)。これにより、第1のシミュレートされたクリックがまだ実行されている間に第2のクリックが行われることも防止される。 – Jeff

+1

Infragisticsコントロールを使用しているという質問には言及していません。彼らのWinButtonはあなたが探している画像処理を行いません。 – CoderDennis

+0

それは画像をサポートしますが、私が必要としたサイズ変更機能はサポートしていません。 (この特定のアプリケーションは、広範囲の画面解像度で円滑に最大化できる必要がありました) – Jeff

2

2つの異なる画像を使用するだけではなく、通常の状態とボタンが押されているときに別の画像を使用するのはなぜですか。

もっと複雑なルートに行きたい場合は、GDI +を使ってみてください。これを行う方法については、すぐにsample tutorialです。

2

button control's Image propertyを使用する代わりに、ボタンコントロール内でイメージコントロールを使用しているのはなぜですか?

ボタンのImageプロパティを使用すると、ユーザーが押すことができるイメージのボタンが表示され、余分な作業や既に使用可能な機能の再実装なしにOnClickイベントが発生します。

+0

私はそれを試みましたが、イメージのストレッチ機能は私が望むものを処理するのに十分ではありませんでした。 – Jeff

関連する問題