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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
CloseとDisposeの違い
Visual Basic(VBA)
-
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
-
4
.NET SqlDataReader のレコード有無判定
Visual Basic(VBA)
-
5
メッセージボックスを大きくする方法
Visual Basic(VBA)
-
6
C#において、同じインスタンスを何度もnewしてよいでしょうか。
その他(プログラミング・Web制作)
-
7
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
8
C# ログイン画面からメイン画面への画面遷移について
C言語・C++・C#
-
9
一定時間操作されないと自動で終了させる方法
Visual Basic(VBA)
-
10
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
11
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
12
複数SQL発行について
Visual Basic(VBA)
-
13
データを削除しても表領域の使用率が減りません
Oracle
-
14
変数の前のビックリマークについて!
PHP
-
15
Visual C#で、usingが出来ないクラスがある?
その他(プログラミング・Web制作)
-
16
複数個のTextBoxでいずれかの内容が変更された事の把握
Visual Basic(VBA)
-
17
意味不明の実行時エラーで困っています
その他(プログラミング・Web制作)
-
18
アクセスできない保護レベルエラーが発生します
Visual Basic(VBA)
-
19
C#の質問です
C言語・C++・C#
-
20
visual studioの不要なDll削除方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコード件数の表示
-
abstract と static を一緒に付...
-
Java初級 引数に適用できません
-
readLine()ではじめから読み直...
-
なぜprotected overrideなのか
-
Google Apps Script で getRang...
-
public static void main (Stri...
-
C# 点の描き方をおしえてくだ...
-
Jakarta POI での、excelのシ...
-
String.containsの反対機能はあ...
-
クラスを継承した際のコード自...
-
C言語での文字列より値を抜き出す
-
StringBufferからStringへキャ...
-
Fileの読み取り専用の解除
-
C# でメソッドに送られてきたOb...
-
Java初心者です、エラーの意味...
-
ArrayList の継承について(初...
-
YYYYMMDD書式の日付に対する適...
-
別クラスの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初心者です、エラーの意味...
おすすめ情報