C#でわからないことが2,3あるのですが、このmsndのサンプルで
public class FirstControl : Control{
public FirstControl() {}
protected override void OnPaint(PaintEventArgs e) {
// Call the OnPaint method of the base class.
base.OnPaint(e);
// Call methods of the System.Drawing.Graphics object.
e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle);
}
}
これのprotected override void OnPaint(PaintEventArgs e){}
の部分なのですが、なぜprotected overrinde修飾子なのでしょう
何をオーバーライドしてるのですか?他のサンプルにも構文のように出てくるのですが。
あとOnPaintはメソッドのようですがイベントを発生させるにはデリゲートではないのでしょうか
あとPaintEventArgsはクラスということですがnewはいらないのでしょうか。staticがどこかにあるのでしょうか
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> の部分なのですが、なぜprotected overrinde修飾子なのでしょう
> 何をオーバーライドしてるのですか?他のサンプルにも構文のように出てくるのですが。
System.Windows.Forms.Control.OnPaintをoverrideしています。
元のメソッドがprotectedなので,可視性はprotectedのままになります。
overrideなので,継承元を辿っていけば元になるメソッドがあります。
http://msdn.microsoft.com/ja-jp/library/system.w …
> あとOnPaintはメソッドのようですがイベントを発生させるにはデリゲートではないのでしょうか
イベントを発生させることができるのは,イベントを定義したクラスのみです。
Paintイベントは,System.Windows.Forms.Controlのメンバなので,System.Windows.Forms.Control.OnPaintメソッドがイベントを発生させます。
また,イベントの前にOnが付いたprotected virtualなメソッドでイベントを発生させるのは,MSのガイドラインに沿った作りです。
http://msdn.microsoft.com/ja-jp/library/ms229011 …
> あとPaintEventArgsはクラスということですがnewはいらないのでしょうか。staticがどこかにあるのでしょうか
クラスのインスタンスが引数eに渡されてくるのです。
なので,なぜ「newはいらないのか」という発想になるのかが不思議です。
C#の文法をちゃんと勉強しましょう。
http://msdn.microsoft.com/ja-jp/library/ms173114 …
http://msdn.microsoft.com/ja-jp/library/51y09td4 …
http://msdn.microsoft.com/ja-jp/library/8f1hz171 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 課題でこの英語の文章のSVOの分析や()等の括りを出されたため、できるだけ完璧にしたいのですが、自身 1 2022/12/16 13:29
- Java java final 1 2022/06/10 22:49
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java eclipse実行ができない 2 2022/07/27 04:47
- 英語 英文解釈 4 2023/07/26 13:54
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
CloseとDisposeの違い
Visual Basic(VBA)
-
-
4
.NET SqlDataReader のレコード有無判定
Visual Basic(VBA)
-
5
C#において、同じインスタンスを何度もnewしてよいでしょうか。
その他(プログラミング・Web制作)
-
6
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
7
メッセージボックスを大きくする方法
Visual Basic(VBA)
-
8
C# ログイン画面からメイン画面への画面遷移について
C言語・C++・C#
-
9
一定時間操作されないと自動で終了させる方法
Visual Basic(VBA)
-
10
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
11
複数SQL発行について
Visual Basic(VBA)
-
12
複数個のTextBoxでいずれかの内容が変更された事の把握
Visual Basic(VBA)
-
13
Visual C#で、usingが出来ないクラスがある?
その他(プログラミング・Web制作)
-
14
意味不明の実行時エラーで困っています
その他(プログラミング・Web制作)
-
15
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
16
変数の前のビックリマークについて!
PHP
-
17
データを削除しても表領域の使用率が減りません
Oracle
-
18
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
19
アクセスできない保護レベルエラーが発生します
Visual Basic(VBA)
-
20
visual studioの不要なDll削除方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコード件数の表示
-
Java初級 引数に適用できません
-
abstract と static を一緒に付...
-
readLine()ではじめから読み直...
-
C言語での文字列より値を抜き出す
-
Google Apps Script で getRang...
-
public static void main (Stri...
-
Java 「参照型の型変換」について
-
クラスを継承した際のコード自...
-
C# 点の描き方をおしえてくだ...
-
Fileの読み取り専用の解除
-
ArrayList の継承について(初...
-
[クラス名].[メソッド名].[メソ...
-
C# でメソッドに送られてきたOb...
-
StringBufferからStringへキャ...
-
String.containsの反対機能はあ...
-
変数とフィールドの使い分け
-
System.out.print
-
Path型またはString型をURL型に...
-
別クラスのmainメソッドの実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java初級 引数に適用できません
-
String.containsの反対機能はあ...
-
なぜprotected overrideなのか
-
Strutsでチェックボックスの値...
-
Google Apps Script で getRang...
-
abstract と static を一緒に付...
-
C# 点の描き方をおしえてくだ...
-
レコード件数の表示
-
public static void main (Stri...
-
StringBufferからStringへキャ...
-
YYYYMMDD書式の日付に対する適...
-
C# でメソッドに送られてきたOb...
-
シェルスクリプトからのJavaメ...
-
C# の ByVal と ByRef について
-
Fileの読み取り専用の解除
-
CSVから読み込んだデータの保持...
-
メソッドの引数に指定されてい...
-
javaに"search"という関数 or ...
-
Javaのメモリの管理
-
Java初心者です、エラーの意味...
おすすめ情報