独自のコントロールを作成し、onpaint イベントを上書きしました。問題は、paint イベントが機能しなくなったことです。
理由はありますか?そして、それを復元する方法は?
独自のコントロールを作成し、onpaint イベントを上書きしました。問題は、paint イベントが機能しなくなったことです。
理由はありますか?そして、それを復元する方法は?
ここでテレパシーで推測してみましょう。
base.OnPaint(...)
オーバーライド内で呼び出すのを忘れました。基本機能が呼び出されなくなったことを意味します。
コントロールが曖昧なのかもしれません。私も同様の問題を抱えていました。問題は、アプリケーションを実行したときに Designer ビューのフォームが実際のフォームよりも大きくなることでした。私のカスタム コントロールにはすべての側面にアンカーがあり、メイン フォームのサイズが縮小されると、カスタム コントロールのサイズはゼロになりました (実際にはマイナスだと思います)。
このモードでは、OnPaint オーバーライドも Paint イベントに割り当てられたデリゲートもまったく呼び出されません。
フォームを最大化し、誤ってサイズをゼロに縮小していないことを確認してください!