2

パネルとその上の奇妙な領域に問題があります。パネルを多くのPictureBoxes 32x32px で埋めます。このパネルの小さな領域が白い領域で埋められます。

これがどのように見えるかです:

ここに画像の説明を入力

最初の画像には 32x32px の草の画像が指定されていることがわかりますPictureBoxが、下の PictureBox にはその画像の半分しかありません。とても奇妙です。

背景を他の画像に変更するためにesにonClick指定されたイベントもあります。PictureBox「作業中」をクリックするPictureBoxと背景が変わりますが、「破損」をクリックしても変わりません。

基本的に、私の質問は - そのような効果の理由は何でしょうか? コードを解析せずにそれを見つけることは可能ですか? 非常に複雑で長いので、ここにコードを入れるのは避けたいと思います。

編集

私は WinSpy++ を使用し、それが結果 (赤い点はカーソルを置いた場所です) であるため、PictureBoxこの白い領域の後ろに部分的に隠されていることがわかります。

ここに画像の説明を入力ここに画像の説明を入力

4

1 に答える 1

1

質問がまだアクティブかどうかはわかりませんが、いずれにせよ回答を試みます。それについてのコメントですが、私はまだコメントすることを許可されていないので、答えるだけです。

イベントハンドラーpicutreBoxを使用して描画を実装するときに、同様の問題が発生しました。onPaint問題は、私が呼び出しpictureBox.Invalidate()たときonPaintに、不要な白いカラー ボックスが表示されることでした。Invalidate()またはがある場合Refresh()は、onPaintイベントでの使用を避けたい場合があります。

そうでない場合は、破損しているformまたはを更新することも役立つ場合があります。初期化後に、できればまたはイベント ハンドラでpictureBox呼び出してみてください。this.Refresh()formonLoadonShown

それでも問題が解決しない場合、問題は別の場所にあり、その原因となるコントロールがどこかに隠されていると思います。しかし、他のアドバイスを提案するには、いくつかのコードを確認する必要があります。

于 2013-05-11T23:19:05.510 に答える