2011-06-25 12 views
1

フォームでIは、ランプイメージ有する(黒と白の一つであり、明るい一つ。OFF及びONの場合はそれぞれ)。プッシュボタンC#のWindowsは、Windowsフォームアプリケーションで

ボタンの使用同じボタンが画像のプロパティ(私の場合はpictureBox)をオンにして、同じボタンをもう一度押すと、ランプがオフになるようなシナリオをどのように実現できますか?

私は画像ボックスの 'Visible'プロパティにアクセスしています。

+0

チェックボックスを使用できます。これは、それらが(ブール値をトグルする)ために設計されたシナリオです。 –

+0

はい、私はcheckBoxを使いたくありません。テキストをON/OFFしてボタンを使用して表示したい。または、シーンの背後にあるボタンであるcheckBoxを表示するということですか? –

+0

[スピードボタンとグリフの組み合わせ、またはWinFormsを使用したVisual Studio 2010の同様のもの](http://stackoverflow.com/questions/6467874/speed-button-with-glyph-or-similar-in-visual-studio-2010) -using-winforms) –

答えて

3

は、互いの上に2枚の画像を入れて、そのうちの一つが有効になっている切り替えるためのボタンを取得します。あなたがそれらのいずれかが可視および他の非可視にフォームデザイナで

。表示されている1スワップおよび他の場所の状態を維持する必要がなくなります

lightImage.Visible = !lightImage.Visible; 
darkImage.Visible = != lightImage.Visible; 

:ボタンハンドラのコードは、その後のようなものにすることができます。

+0

Tack Anders .... –

+0

2つの画像を重ね合わせる方法はわかりませんが、同じ効果を得たい場合は - 2つの画像ファイルをプロジェクトのリソースに入れます - クリックボタンのイベントは、設定に応じてボタン画像を切り替える:! Properties.Settings.Default.IsOptimizedForTracer = Properties.Settings.Default.IsOptimizedForTracer。 リターン; } btnOptimizeForTracer.Image = Properties.Resources.TracerON; – michaelAngelo

0

私はお互いの上に2枚の画像を配置する方法についてはよく分からないが、あなたは同じ効果到達したい場合:プロジェクトのリソースで

    • 場所2つの画像ファイルを設定に応じてボタン画像を切り替え、ボタンのイベントをクリックしてください:

    これは、クリックイベントに次のようになります。

    Properties.Settings.Default.IsOptimizedForTracer !=Properties.Settings.Default.IsOptimizedForTracer; 
    
    if (!Properties.Settings.Default.IsOptimizedForTracer) 
    { 
    btnOptimizeForTracer.Image = Properties.Resources.TracerOFF; 
    return; 
    } 
    
    btnOptimizeForTracer.Image = Properties.Resources.TracerON; 
    
  • 関連する問題