C#/Formの再描画イベントを追加する
C#でWindowsアプリケーションプロジェクトを作成すると、最初に作られるFormに再描画イベントを追加したい。
サンプルとか探してみても、クリックイベントなどで直接描画する方法はあるのに、再描画イベントを使って描画しているものが見つからない。(探し方が悪いのかもしれないけれども)
そもそも、C#でのイベントの追加、オーバーライド、調べ方も知らないな。
それらしいのを発見した。
ソリューションエクスプローラーの参照設定の中から、使っているコンポーネントを指定すると、そのコンポーネントの持っているすべてのプロパティとメソッドの詳細を見ることができる。
以下のような関連しそうなメソッドを見つけたわけ何だけれども。
これをForm1クラスの中に追加する。
これだとエラーが発生した。
Protectedのメソッドで、override キーワードが必要……。
これだと、リサイズなどを行った時に、イベントが発生していた。
ということで、この問題は解決!!
サンプルとか探してみても、クリックイベントなどで直接描画する方法はあるのに、再描画イベントを使って描画しているものが見つからない。(探し方が悪いのかもしれないけれども)
そもそも、C#でのイベントの追加、オーバーライド、調べ方も知らないな。
それらしいのを発見した。
ソリューションエクスプローラーの参照設定の中から、使っているコンポーネントを指定すると、そのコンポーネントの持っているすべてのプロパティとメソッドの詳細を見ることができる。
以下のような関連しそうなメソッドを見つけたわけ何だけれども。
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
System.Windows.Forms.Form のメンバ
これをForm1クラスの中に追加する。
private void OnPaint(PaintEventArgs e)
{ }
これだとエラーが発生した。
D:\IT\Tips\Tips0001\Form1.cs(18,22): 警告 CS0114:
'Tips0001.Form1.OnPaint(System.Windows.Forms.PaintEventArgs)' は継承されたメンバ
'System.Windows.Forms.Form.OnPaint(System.Windows.Forms.PaintEventArgs) を隠します。
現在のメンバでその実装をオーバーライドするには、override キーワードを追加してください。
オーバーライドしない場合は、new キーワードを追加してください。
Protectedのメソッドで、override キーワードが必要……。
これだと、リサイズなどを行った時に、イベントが発生していた。
ということで、この問題は解決!!
2008年06月22日(日) 03:12:55 Modified by rubyperl